Updates the access policy for a data source. Requires admin access to the organization.
Connection-level access: when mode is sent, it replaces who can query the data source. Use mode “everyone” to allow all organization members to view or edit it, or mode “restricted” with groupAccess/memberAccess to limit access; an omitted groupAccess or memberAccess means none. Legacy groupIds/memberIds grant view access. Omit mode to leave connection-level access unchanged; the body must then contain only objects, and sending accessLevel, groupAccess, memberAccess, groupIds, or memberIds without mode returns 400. A body with neither mode nor objects also returns 400.
Schema, table, and column rules are optional. Omit objects to leave them unchanged. When objects is sent, even as an empty array, it replaces every object rule on the data source, including rules configured in the app. Objects are identified by their synced schema, table, and column names. Each object must set at least one of everyoneAccessLevel, groupAccess, or memberAccess, and unknown fields return 400; to remove an object’s rules, leave the object out.
Object rules are evaluated from schema to table to column; an object without a matching rule inherits from its parent. At each object a member rule beats group rules, a group with FULL beats groups with NO_ACCESS, and group rules beat the everyone rule. Rules apply to every role, including admins. To restrict tables to a group, set everyoneAccessLevel to NO_ACCESS and give the group FULL on the same object. Prefer schema-level rules for allow-lists: new tables in the schema inherit NO_ACCESS.
New object rules must reference groups, active members, and objects that exist in the synced schema; otherwise nothing is changed, including the connection-level policy, and the request returns 404. Existing rules are kept as-is even if their object has since been dropped. Sending the same object rules again is a no-op for them: unchanged rules are not rewritten and open clients are not notified.
Schema, table, and column rules. Omit to leave existing object rules unchanged. The complete set of schema, table, and column rules for the data source (at most 5000 rules in total): objects not listed lose all of their rules, and an empty array removes every object rule.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Basedash Documentation","colors":{"primary":"#3C50FF","light":"#6373FF","dark":"#061DE0"},"logo":{"light":"https://mintcdn.com/basedash/UcHJpOmrR3J146WE/logo/light.svg?fit=max\u0026auto=format\u0026n=UcHJpOmrR3J146WE\u0026q=85\u0026s=ffbaede88501c143a403b5850090b42a","dark":"https://mintcdn.com/basedash/UcHJpOmrR3J146WE/logo/dark.svg?fit=max\u0026auto=format\u0026n=UcHJpOmrR3J146WE\u0026q=85\u0026s=aec54d36c0048b53e3df724fc231dd94","href":"https://www.basedash.com"},"favicon":"https://mintcdn.com/basedash/UcHJpOmrR3J146WE/favicon.svg?fit=max\u0026auto=format\u0026n=UcHJpOmrR3J146WE\u0026q=85\u0026s=e6d2754428c77f51e2c1146803c90746","appearance":{"default":"system"},"navbar":{"links":[{"href":"mailto:support@basedash.com","label":"Contact us"}],"primary":{"type":"button","label":"Log in","href":"https://charts.basedash.com"}},"footer":{"socials":{"x":"https://x.com/Basedash","github":"https://github.com/Basedash","linkedin":"https://linkedin.com/company/Basedash"}},"seo":{"metatags":{"canonical":"https://www.basedash.com/docs"}},"styling":{"codeblocks":"dark","latex":false},"navigation":{"global":{"anchors":[{"anchor":"Changelog","icon":"clock-rotate-left","href":"https://www.basedash.com/changelog"},{"anchor":"Contact support","icon":"life-ring","href":"mailto:support@basedash.com"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"basedash","hasAudioNarration":false,"actualSubdomain":"basedash","customDomains":["basedash.com"],"gitSource":{"type":"github","owner":"basedash","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adf983930794ec1211d3e0c","collectionId":"a35d677a-ba8c-41f0-a632-125d1d8cfe71","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adf983930794ec1211d3e0c"},"feedback":{"thumbs":false,"edits":false,"issues":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6adf983930794ec1211d3e0c","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"default","tag":"Data sources","count":728},{"language":"default","tag":"Connectors","count":708},{"language":"default","tag":"Developers","count":97},{"language":"default","tag":"Endpoints","count":91},{"language":"default","tag":"Documentation","count":57},{"language":"default","tag":"Build","count":25},{"language":"default","tag":"Chart types","count":17},{"language":"default","tag":"Administration","count":13},{"language":"default","tag":"Chats","count":11},{"language":"default","tag":"Dashboards","count":11}]},"assistantConfig":{"deflection":{"enabled":true,"email":"support@basedash.com"}},"basePath":"/docs","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":"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":[],"page":{"pagePath":"api-reference/data-sources/update-data-source-access","slug":"/api-reference/data-sources/update-data-source-access","pageMetadata":{"title":"Update data source access","description":"Updates the access policy for a data source. Requires admin access to the organization.\n\nConnection-level access: when mode is sent, it replaces who can query the data source. Use mode \"everyone\" to allow all organization members to view or edit it, or mode \"restricted\" with groupAccess/memberAccess to limit access; an omitted groupAccess or memberAccess means none. Legacy groupIds/memberIds grant view access. Omit mode to leave connection-level access unchanged; the body must then contain only objects, and sending accessLevel, groupAccess, memberAccess, groupIds, or memberIds without mode returns 400. A body with neither mode nor objects also returns 400.\n\nSchema, table, and column rules are optional. Omit objects to leave them unchanged. When objects is sent, even as an empty array, it replaces every object rule on the data source, including rules configured in the app. Objects are identified by their synced schema, table, and column names. Each object must set at least one of everyoneAccessLevel, groupAccess, or memberAccess, and unknown fields return 400; to remove an object's rules, leave the object out.\n\nObject rules are evaluated from schema to table to column; an object without a matching rule inherits from its parent. At each object a member rule beats group rules, a group with FULL beats groups with NO_ACCESS, and group rules beat the everyone rule. Rules apply to every role, including admins. To restrict tables to a group, set everyoneAccessLevel to NO_ACCESS and give the group FULL on the same object. Prefer schema-level rules for allow-lists: new tables in the schema inherit NO_ACCESS.\n\nNew object rules must reference groups, active members, and objects that exist in the synced schema; otherwise nothing is changed, including the connection-level policy, and the request returns 404. Existing rules are kept as-is even if their object has since been dropped. Sending the same object rules again is a no-op for them: unchanged rules are not rewritten and open clients are not notified.","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi put /api/public/organizations/{orgId}/data-sources/{id}/access","href":"/api-reference/data-sources/update-data-source-access","autogeneratedByOpenApi":true},"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 p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Updates the access policy for a data source. Requires admin access to the organization.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Connection-level access: when mode is sent, it replaces who can query the data source. Use mode “everyone” to allow all organization members to view or edit it, or mode “restricted” with groupAccess/memberAccess to limit access; an omitted groupAccess or memberAccess means none. Legacy groupIds/memberIds grant view access. Omit mode to leave connection-level access unchanged; the body must then contain only objects, and sending accessLevel, groupAccess, memberAccess, groupIds, or memberIds without mode returns 400. A body with neither mode nor objects also returns 400.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Schema, table, and column rules are optional. Omit objects to leave them unchanged. When objects is sent, even as an empty array, it replaces every object rule on the data source, including rules configured in the app. Objects are identified by their synced schema, table, and column names. Each object must set at least one of everyoneAccessLevel, groupAccess, or memberAccess, and unknown fields return 400; to remove an object’s rules, leave the object out.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Object rules are evaluated from schema to table to column; an object without a matching rule inherits from its parent. At each object a member rule beats group rules, a group with FULL beats groups with NO_ACCESS, and group rules beat the everyone rule. Rules apply to every role, including admins. To restrict tables to a group, set everyoneAccessLevel to NO_ACCESS and give the group FULL on the same object. Prefer schema-level rules for allow-lists: new tables in the schema inherit NO_ACCESS.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"New object rules must reference groups, active members, and objects that exist in the synced schema; otherwise nothing is changed, including the connection-level policy, and the request returns 404. Existing rules are kept as-is even if their object has since been dropped. Sending the same object rules again is a no-op for them: unchanged rules are not rewritten and open clients are not notified.\"\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":{"codeStyling":"dark","config":{},"pageMetadata":{"title":"Update data source access","description":"Updates the access policy for a data source. Requires admin access to the organization.\n\nConnection-level access: when mode is sent, it replaces who can query the data source. Use mode \"everyone\" to allow all organization members to view or edit it, or mode \"restricted\" with groupAccess/memberAccess to limit access; an omitted groupAccess or memberAccess means none. Legacy groupIds/memberIds grant view access. Omit mode to leave connection-level access unchanged; the body must then contain only objects, and sending accessLevel, groupAccess, memberAccess, groupIds, or memberIds without mode returns 400. A body with neither mode nor objects also returns 400.\n\nSchema, table, and column rules are optional. Omit objects to leave them unchanged. When objects is sent, even as an empty array, it replaces every object rule on the data source, including rules configured in the app. Objects are identified by their synced schema, table, and column names. Each object must set at least one of everyoneAccessLevel, groupAccess, or memberAccess, and unknown fields return 400; to remove an object's rules, leave the object out.\n\nObject rules are evaluated from schema to table to column; an object without a matching rule inherits from its parent. At each object a member rule beats group rules, a group with FULL beats groups with NO_ACCESS, and group rules beat the everyone rule. Rules apply to every role, including admins. To restrict tables to a group, set everyoneAccessLevel to NO_ACCESS and give the group FULL on the same object. Prefer schema-level rules for allow-lists: new tables in the schema inherit NO_ACCESS.\n\nNew object rules must reference groups, active members, and objects that exist in the synced schema; otherwise nothing is changed, including the connection-level policy, and the request returns 404. Existing rules are kept as-is even if their object has since been dropped. Sending the same object rules again is a no-op for them: unchanged rules are not rewritten and open clients are not notified.","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi put /api/public/organizations/{orgId}/data-sources/{id}/access","href":"/api-reference/data-sources/update-data-source-access","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/basedash/598c05dbac71c2b9/scripts/generate-connector-pages.js","/docs/_mintlify/custom/basedash/92fde38ba79efb2a/scripts/ignored-connectors.js","/docs/_mintlify/custom/basedash/1b6dcfd155bb195c/scripts/content-constants.js","/docs/_mintlify/custom/basedash/b1d78f42287990a8/scripts/sync-content-constants.js"],"openApiReferenceData":{"operation":{"summary":"Update data source access","description":"Updates the access policy for a data source. Requires admin access to the organization.\n\nConnection-level access: when mode is sent, it replaces who can query the data source. Use mode \"everyone\" to allow all organization members to view or edit it, or mode \"restricted\" with groupAccess/memberAccess to limit access; an omitted groupAccess or memberAccess means none. Legacy groupIds/memberIds grant view access. Omit mode to leave connection-level access unchanged; the body must then contain only objects, and sending accessLevel, groupAccess, memberAccess, groupIds, or memberIds without mode returns 400. A body with neither mode nor objects also returns 400.\n\nSchema, table, and column rules are optional. Omit objects to leave them unchanged. When objects is sent, even as an empty array, it replaces every object rule on the data source, including rules configured in the app. Objects are identified by their synced schema, table, and column names. Each object must set at least one of everyoneAccessLevel, groupAccess, or memberAccess, and unknown fields return 400; to remove an object's rules, leave the object out.\n\nObject rules are evaluated from schema to table to column; an object without a matching rule inherits from its parent. At each object a member rule beats group rules, a group with FULL beats groups with NO_ACCESS, and group rules beat the everyone rule. Rules apply to every role, including admins. To restrict tables to a group, set everyoneAccessLevel to NO_ACCESS and give the group FULL on the same object. Prefer schema-level rules for allow-lists: new tables in the schema inherit NO_ACCESS.\n\nNew object rules must reference groups, active members, and objects that exist in the synced schema; otherwise nothing is changed, including the connection-level policy, and the request returns 404. Existing rules are kept as-is even if their object has since been dropped. Sending the same object rules again is a no-op for them: unchanged rules are not rewritten and open clients are not notified.","tags":["Data Sources"],"security":["1f87694b-9352-4033-a093-1aa6955afacc"],"parameters":["b5a98753-381a-48a8-a7ef-3c880ce1f43f","024e77c5-df95-4f52-88d4-2b352fbdd4f3"],"requestBody":"de6de508-29da-41d9-a391-cee5df855b7f","responses":{"200":"c330a55c-31c8-470c-abc0-6a88ac330bf6","400":"cd45f8fe-5559-45fe-b345-e38cd10109c1","401":"9b6645d7-728a-4395-b1d6-6aecf52e5089","404":"9284e10f-7bdb-41d7-ad20-19f6d329b095","429":"a172bba9-833a-44d9-99d1-7e110bcf20dc","500":"1263863a-174c-4f9e-876a-bef632a99282"},"method":"put","type":"path","servers":["ced2b752-ccc0-40d7-8000-3375bc31a7ca"],"path":"/api/public/organizations/{orgId}/data-sources/{id}/access","baseUrlOptions":["https://charts.basedash.com"],"title":"Update data source access","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"b5a98753-381a-48a8-a7ef-3c880ce1f43f":{"schema":{"type":"string","description":"Organization ID","isRequired":true,"uniqueKey":"","typeLabel":"string"},"required":true,"description":"Organization ID","name":"orgId","in":"path"},"024e77c5-df95-4f52-88d4-2b352fbdd4f3":{"schema":{"type":"string","description":"Data source ID","isRequired":true,"uniqueKey":"","typeLabel":"string"},"required":true,"description":"Data source ID","name":"id","in":"path"}},"requestBody":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","required":["mode"],"properties":{"mode":{"type":"string","enum":["everyone"],"isRequired":true,"uniqueKey":"oneOf.0.mode","typeLabel":"enum\u003cstring>"},"accessLevel":{"type":"string","enum":["VIEW","EDIT"],"default":"VIEW","description":"Whether the principal can view or edit the data source","uniqueKey":"oneOf.0.accessLevel","typeLabel":"enum\u003cstring>"},"groupIds":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.groupIds.items.[INDEX]","typeLabel":"string"},"default":[],"description":"Deprecated. Organization group IDs granted view access. Use groupAccess to set view or edit access.","uniqueKey":"oneOf.0.groupIds","typeLabel":"string[]"},"memberIds":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.0.memberIds.items.[INDEX]","typeLabel":"string"},"default":[],"description":"Deprecated. Organization member IDs granted view access. Use memberAccess to set view or edit access.","uniqueKey":"oneOf.0.memberIds","typeLabel":"string[]"},"groupAccess":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Organization group or member ID","isRequired":true,"uniqueKey":"oneOf.0.groupAccess.items.[INDEX].id","typeLabel":"string"},"accessLevel":{"type":"string","enum":["VIEW","EDIT"],"default":"VIEW","description":"Whether the principal can view or edit the data source","uniqueKey":"oneOf.0.groupAccess.items.[INDEX].accessLevel","typeLabel":"enum\u003cstring>"}},"required":["id"],"uniqueKey":"oneOf.0.groupAccess.items.[INDEX]","typeLabel":"object"},"default":[],"description":"Organization groups with view or edit access","uniqueKey":"oneOf.0.groupAccess","typeLabel":"object[]"},"memberAccess":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Organization group or member ID","isRequired":true,"uniqueKey":"oneOf.0.memberAccess.items.[INDEX].id","typeLabel":"string"},"accessLevel":{"type":"string","enum":["VIEW","EDIT"],"default":"VIEW","description":"Whether the principal can view or edit the data source","uniqueKey":"oneOf.0.memberAccess.items.[INDEX].accessLevel","typeLabel":"enum\u003cstring>"}},"required":["id"],"uniqueKey":"oneOf.0.memberAccess.items.[INDEX]","typeLabel":"object"},"default":[],"description":"Organization members with view or edit access","uniqueKey":"oneOf.0.memberAccess","typeLabel":"object[]"},"objects":{"type":"array","items":{"type":"object","properties":{"schemaName":{"type":"string","minLength":1,"description":"Schema name exactly as synced from the data source","isRequired":true,"uniqueKey":"oneOf.0.objects.items.[INDEX].schemaName","typeLabel":"string"},"tableName":{"oneOf":[{"type":"string","minLength":1,"description":"Table name exactly as synced. Omit or null for a schema-level rule.","uniqueKey":"oneOf.0.objects.items.[INDEX].tableName.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Table name exactly as synced. Omit or null for a schema-level rule.","uniqueKey":"oneOf.0.objects.items.[INDEX].tableName.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.objects.items.[INDEX].tableName","typeLabel":"string | null"},"columnName":{"oneOf":[{"type":"string","minLength":1,"description":"Column name exactly as synced. Omit or null for a table-level rule. Requires tableName.","uniqueKey":"oneOf.0.objects.items.[INDEX].columnName.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Column name exactly as synced. Omit or null for a table-level rule. Requires tableName.","uniqueKey":"oneOf.0.objects.items.[INDEX].columnName.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.objects.items.[INDEX].columnName","typeLabel":"string | null"},"everyoneAccessLevel":{"oneOf":[{"type":"string","enum":["FULL","NO_ACCESS",null],"description":"Access for everyone in the organization on this object. Omit or null for no everyone rule.","uniqueKey":"oneOf.0.objects.items.[INDEX].everyoneAccessLevel.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["FULL","NO_ACCESS",null],"description":"Access for everyone in the organization on this object. Omit or null for no everyone rule.","uniqueKey":"oneOf.0.objects.items.[INDEX].everyoneAccessLevel.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.0.objects.items.[INDEX].everyoneAccessLevel","typeLabel":"enum\u003cstring> | null"},"groupAccess":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Organization group or member ID","isRequired":true,"uniqueKey":"oneOf.0.objects.items.[INDEX].groupAccess.items.[INDEX].id","typeLabel":"string"},"accessLevel":{"type":"string","enum":["FULL","NO_ACCESS"],"description":"FULL allows querying the object; NO_ACCESS blocks it in queries, chat, and metadata","isRequired":true,"uniqueKey":"oneOf.0.objects.items.[INDEX].groupAccess.items.[INDEX].accessLevel","typeLabel":"enum\u003cstring>"}},"required":["id","accessLevel"],"uniqueKey":"oneOf.0.objects.items.[INDEX].groupAccess.items.[INDEX]","typeLabel":"object"},"maxItems":500,"default":[],"description":"Group rules on this object","uniqueKey":"oneOf.0.objects.items.[INDEX].groupAccess","typeLabel":"object[]"},"memberAccess":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Organization group or member ID","isRequired":true,"uniqueKey":"oneOf.0.objects.items.[INDEX].memberAccess.items.[INDEX].id","typeLabel":"string"},"accessLevel":{"type":"string","enum":["FULL","NO_ACCESS"],"description":"FULL allows querying the object; NO_ACCESS blocks it in queries, chat, and metadata","isRequired":true,"uniqueKey":"oneOf.0.objects.items.[INDEX].memberAccess.items.[INDEX].accessLevel","typeLabel":"enum\u003cstring>"}},"required":["id","accessLevel"],"uniqueKey":"oneOf.0.objects.items.[INDEX].memberAccess.items.[INDEX]","typeLabel":"object"},"maxItems":500,"default":[],"description":"Member rules on this object","uniqueKey":"oneOf.0.objects.items.[INDEX].memberAccess","typeLabel":"object[]"}},"required":["schemaName"],"additionalProperties":false,"uniqueKey":"oneOf.0.objects.items.[INDEX]","typeLabel":"object"},"maxItems":1000,"description":"Schema, table, and column rules. Omit to leave existing object rules unchanged. The complete set of schema, table, and column rules for the data source (at most 5000 rules in total): objects not listed lose all of their rules, and an empty array removes every object rule.","uniqueKey":"oneOf.0.objects","typeLabel":"object[]"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","required":["mode"],"properties":{"mode":{"type":"string","enum":["restricted"],"isRequired":true,"uniqueKey":"oneOf.1.mode","typeLabel":"enum\u003cstring>"},"groupIds":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.groupIds.items.[INDEX]","typeLabel":"string"},"default":[],"description":"Deprecated. Organization group IDs granted view access. Use groupAccess to set view or edit access.","uniqueKey":"oneOf.1.groupIds","typeLabel":"string[]"},"memberIds":{"type":"array","items":{"type":"string","uniqueKey":"oneOf.1.memberIds.items.[INDEX]","typeLabel":"string"},"default":[],"description":"Deprecated. Organization member IDs granted view access. Use memberAccess to set view or edit access.","uniqueKey":"oneOf.1.memberIds","typeLabel":"string[]"},"groupAccess":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Organization group or member ID","isRequired":true,"uniqueKey":"oneOf.1.groupAccess.items.[INDEX].id","typeLabel":"string"},"accessLevel":{"type":"string","enum":["VIEW","EDIT"],"default":"VIEW","description":"Whether the principal can view or edit the data source","uniqueKey":"oneOf.1.groupAccess.items.[INDEX].accessLevel","typeLabel":"enum\u003cstring>"}},"required":["id"],"uniqueKey":"oneOf.1.groupAccess.items.[INDEX]","typeLabel":"object"},"default":[],"description":"Organization groups with view or edit access","uniqueKey":"oneOf.1.groupAccess","typeLabel":"object[]"},"memberAccess":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Organization group or member ID","isRequired":true,"uniqueKey":"oneOf.1.memberAccess.items.[INDEX].id","typeLabel":"string"},"accessLevel":{"type":"string","enum":["VIEW","EDIT"],"default":"VIEW","description":"Whether the principal can view or edit the data source","uniqueKey":"oneOf.1.memberAccess.items.[INDEX].accessLevel","typeLabel":"enum\u003cstring>"}},"required":["id"],"uniqueKey":"oneOf.1.memberAccess.items.[INDEX]","typeLabel":"object"},"default":[],"description":"Organization members with view or edit access","uniqueKey":"oneOf.1.memberAccess","typeLabel":"object[]"},"objects":{"type":"array","items":{"type":"object","properties":{"schemaName":{"type":"string","minLength":1,"description":"Schema name exactly as synced from the data source","isRequired":true,"uniqueKey":"oneOf.1.objects.items.[INDEX].schemaName","typeLabel":"string"},"tableName":{"oneOf":[{"type":"string","minLength":1,"description":"Table name exactly as synced. Omit or null for a schema-level rule.","uniqueKey":"oneOf.1.objects.items.[INDEX].tableName.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Table name exactly as synced. Omit or null for a schema-level rule.","uniqueKey":"oneOf.1.objects.items.[INDEX].tableName.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.objects.items.[INDEX].tableName","typeLabel":"string | null"},"columnName":{"oneOf":[{"type":"string","minLength":1,"description":"Column name exactly as synced. Omit or null for a table-level rule. Requires tableName.","uniqueKey":"oneOf.1.objects.items.[INDEX].columnName.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Column name exactly as synced. Omit or null for a table-level rule. Requires tableName.","uniqueKey":"oneOf.1.objects.items.[INDEX].columnName.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.objects.items.[INDEX].columnName","typeLabel":"string | null"},"everyoneAccessLevel":{"oneOf":[{"type":"string","enum":["FULL","NO_ACCESS",null],"description":"Access for everyone in the organization on this object. Omit or null for no everyone rule.","uniqueKey":"oneOf.1.objects.items.[INDEX].everyoneAccessLevel.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["FULL","NO_ACCESS",null],"description":"Access for everyone in the organization on this object. Omit or null for no everyone rule.","uniqueKey":"oneOf.1.objects.items.[INDEX].everyoneAccessLevel.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.1.objects.items.[INDEX].everyoneAccessLevel","typeLabel":"enum\u003cstring> | null"},"groupAccess":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Organization group or member ID","isRequired":true,"uniqueKey":"oneOf.1.objects.items.[INDEX].groupAccess.items.[INDEX].id","typeLabel":"string"},"accessLevel":{"type":"string","enum":["FULL","NO_ACCESS"],"description":"FULL allows querying the object; NO_ACCESS blocks it in queries, chat, and metadata","isRequired":true,"uniqueKey":"oneOf.1.objects.items.[INDEX].groupAccess.items.[INDEX].accessLevel","typeLabel":"enum\u003cstring>"}},"required":["id","accessLevel"],"uniqueKey":"oneOf.1.objects.items.[INDEX].groupAccess.items.[INDEX]","typeLabel":"object"},"maxItems":500,"default":[],"description":"Group rules on this object","uniqueKey":"oneOf.1.objects.items.[INDEX].groupAccess","typeLabel":"object[]"},"memberAccess":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Organization group or member ID","isRequired":true,"uniqueKey":"oneOf.1.objects.items.[INDEX].memberAccess.items.[INDEX].id","typeLabel":"string"},"accessLevel":{"type":"string","enum":["FULL","NO_ACCESS"],"description":"FULL allows querying the object; NO_ACCESS blocks it in queries, chat, and metadata","isRequired":true,"uniqueKey":"oneOf.1.objects.items.[INDEX].memberAccess.items.[INDEX].accessLevel","typeLabel":"enum\u003cstring>"}},"required":["id","accessLevel"],"uniqueKey":"oneOf.1.objects.items.[INDEX].memberAccess.items.[INDEX]","typeLabel":"object"},"maxItems":500,"default":[],"description":"Member rules on this object","uniqueKey":"oneOf.1.objects.items.[INDEX].memberAccess","typeLabel":"object[]"}},"required":["schemaName"],"additionalProperties":false,"uniqueKey":"oneOf.1.objects.items.[INDEX]","typeLabel":"object"},"maxItems":1000,"description":"Schema, table, and column rules. Omit to leave existing object rules unchanged. The complete set of schema, table, and column rules for the data source (at most 5000 rules in total): objects not listed lose all of their rules, and an empty array removes every object rule.","uniqueKey":"oneOf.1.objects","typeLabel":"object[]"}},"uniqueKey":"oneOf.1","typeLabel":"object"},{"type":"object","required":["objects"],"properties":{"objects":{"type":"array","items":{"type":"object","properties":{"schemaName":{"type":"string","minLength":1,"description":"Schema name exactly as synced from the data source","isRequired":true,"uniqueKey":"oneOf.2.objects.items.[INDEX].schemaName","typeLabel":"string"},"tableName":{"oneOf":[{"type":"string","minLength":1,"description":"Table name exactly as synced. Omit or null for a schema-level rule.","uniqueKey":"oneOf.2.objects.items.[INDEX].tableName.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Table name exactly as synced. Omit or null for a schema-level rule.","uniqueKey":"oneOf.2.objects.items.[INDEX].tableName.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.objects.items.[INDEX].tableName","typeLabel":"string | null"},"columnName":{"oneOf":[{"type":"string","minLength":1,"description":"Column name exactly as synced. Omit or null for a table-level rule. Requires tableName.","uniqueKey":"oneOf.2.objects.items.[INDEX].columnName.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"description":"Column name exactly as synced. Omit or null for a table-level rule. Requires tableName.","uniqueKey":"oneOf.2.objects.items.[INDEX].columnName.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.objects.items.[INDEX].columnName","typeLabel":"string | null"},"everyoneAccessLevel":{"oneOf":[{"type":"string","enum":["FULL","NO_ACCESS",null],"description":"Access for everyone in the organization on this object. Omit or null for no everyone rule.","uniqueKey":"oneOf.2.objects.items.[INDEX].everyoneAccessLevel.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["FULL","NO_ACCESS",null],"description":"Access for everyone in the organization on this object. Omit or null for no everyone rule.","uniqueKey":"oneOf.2.objects.items.[INDEX].everyoneAccessLevel.oneOf.1","typeLabel":"null"}],"uniqueKey":"oneOf.2.objects.items.[INDEX].everyoneAccessLevel","typeLabel":"enum\u003cstring> | null"},"groupAccess":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Organization group or member ID","isRequired":true,"uniqueKey":"oneOf.2.objects.items.[INDEX].groupAccess.items.[INDEX].id","typeLabel":"string"},"accessLevel":{"type":"string","enum":["FULL","NO_ACCESS"],"description":"FULL allows querying the object; NO_ACCESS blocks it in queries, chat, and metadata","isRequired":true,"uniqueKey":"oneOf.2.objects.items.[INDEX].groupAccess.items.[INDEX].accessLevel","typeLabel":"enum\u003cstring>"}},"required":["id","accessLevel"],"uniqueKey":"oneOf.2.objects.items.[INDEX].groupAccess.items.[INDEX]","typeLabel":"object"},"maxItems":500,"default":[],"description":"Group rules on this object","uniqueKey":"oneOf.2.objects.items.[INDEX].groupAccess","typeLabel":"object[]"},"memberAccess":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Organization group or member ID","isRequired":true,"uniqueKey":"oneOf.2.objects.items.[INDEX].memberAccess.items.[INDEX].id","typeLabel":"string"},"accessLevel":{"type":"string","enum":["FULL","NO_ACCESS"],"description":"FULL allows querying the object; NO_ACCESS blocks it in queries, chat, and metadata","isRequired":true,"uniqueKey":"oneOf.2.objects.items.[INDEX].memberAccess.items.[INDEX].accessLevel","typeLabel":"enum\u003cstring>"}},"required":["id","accessLevel"],"uniqueKey":"oneOf.2.objects.items.[INDEX].memberAccess.items.[INDEX]","typeLabel":"object"},"maxItems":500,"default":[],"description":"Member rules on this object","uniqueKey":"oneOf.2.objects.items.[INDEX].memberAccess","typeLabel":"object[]"}},"required":["schemaName"],"additionalProperties":false,"uniqueKey":"oneOf.2.objects.items.[INDEX]","typeLabel":"object"},"maxItems":1000,"description":"Schema, table, and column rules. The complete set of schema, table, and column rules for the data source (at most 5000 rules in total): objects not listed lose all of their rules, and an empty array removes every object rule.","isRequired":true,"uniqueKey":"oneOf.2.objects","typeLabel":"object[]"},"mode":{"type":"string","not":{},"description":"Leave mode out to keep connection-level access unchanged","uniqueKey":"oneOf.2.mode","typeLabel":"string"}},"additionalProperties":false,"uniqueKey":"oneOf.2","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"mode":"everyone","accessLevel":"VIEW","groupIds":[],"memberIds":[],"groupAccess":[],"memberAccess":[],"objects":[{"schemaName":"\u003cstring>","tableName":"\u003cstring>","columnName":"\u003cstring>","groupAccess":[],"memberAccess":[]}]}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"c330a55c-31c8-470c-abc0-6a88ac330bf6":{"description":"Data source access updated successfully","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"dataSourceId":{"type":"string","description":"Data source ID","isRequired":true,"uniqueKey":"data.dataSourceId","typeLabel":"string"},"mode":{"type":"string","enum":["everyone","restricted"],"description":"Whether everyone or only listed principals can query","isRequired":true,"uniqueKey":"data.mode","typeLabel":"enum\u003cstring>"},"accessLevel":{"oneOf":[{"type":"string","enum":["VIEW","EDIT",null],"description":"Everyone access level when mode is everyone","isRequired":true,"uniqueKey":"data.accessLevel.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["VIEW","EDIT",null],"description":"Everyone access level when mode is everyone","isRequired":true,"uniqueKey":"data.accessLevel.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.accessLevel","typeLabel":"enum\u003cstring> | null"},"groupIds":{"type":"array","items":{"type":"string","uniqueKey":"data.groupIds.items.[INDEX]","typeLabel":"string"},"description":"Deprecated. Organization group IDs with view or edit access when mode is restricted. Use groupAccess for access levels.","isRequired":true,"uniqueKey":"data.groupIds","typeLabel":"string[]"},"memberIds":{"type":"array","items":{"type":"string","uniqueKey":"data.memberIds.items.[INDEX]","typeLabel":"string"},"description":"Deprecated. Organization member IDs with view or edit access when mode is restricted. Use memberAccess for access levels.","isRequired":true,"uniqueKey":"data.memberIds","typeLabel":"string[]"},"groupAccess":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Organization group or member ID","isRequired":true,"uniqueKey":"data.groupAccess.items.[INDEX].id","typeLabel":"string"},"accessLevel":{"type":"string","enum":["VIEW","EDIT"],"default":"VIEW","description":"Whether the principal can view or edit the data source","uniqueKey":"data.groupAccess.items.[INDEX].accessLevel","typeLabel":"enum\u003cstring>"}},"required":["id"],"uniqueKey":"data.groupAccess.items.[INDEX]","typeLabel":"object"},"description":"Organization groups with view or edit access","isRequired":true,"uniqueKey":"data.groupAccess","typeLabel":"object[]"},"memberAccess":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"Organization group or member ID","isRequired":true,"uniqueKey":"data.memberAccess.items.[INDEX].id","typeLabel":"string"},"accessLevel":{"type":"string","enum":["VIEW","EDIT"],"default":"VIEW","description":"Whether the principal can view or edit the data source","uniqueKey":"data.memberAccess.items.[INDEX].accessLevel","typeLabel":"enum\u003cstring>"}},"required":["id"],"uniqueKey":"data.memberAccess.items.[INDEX]","typeLabel":"object"},"description":"Organization members with view or edit access","isRequired":true,"uniqueKey":"data.memberAccess","typeLabel":"object[]"},"objects":{"type":"array","items":{"type":"object","properties":{"schemaName":{"type":"string","description":"Schema name","isRequired":true,"uniqueKey":"data.objects.items.[INDEX].schemaName","typeLabel":"string"},"tableName":{"oneOf":[{"type":"string","description":"Table name, or null for a schema-level rule","isRequired":true,"uniqueKey":"data.objects.items.[INDEX].tableName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Table name, or null for a schema-level rule","isRequired":true,"uniqueKey":"data.objects.items.[INDEX].tableName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.objects.items.[INDEX].tableName","typeLabel":"string | null"},"columnName":{"oneOf":[{"type":"string","description":"Column name, or null for a schema- or table-level rule","isRequired":true,"uniqueKey":"data.objects.items.[INDEX].columnName.oneOf.0","typeLabel":"string"},{"type":"null","description":"Column name, or null for a schema- or table-level rule","isRequired":true,"uniqueKey":"data.objects.items.[INDEX].columnName.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.objects.items.[INDEX].columnName","typeLabel":"string | null"},"everyoneAccessLevel":{"oneOf":[{"type":"string","enum":["FULL","NO_ACCESS",null],"description":"Access for everyone in the organization, or null if unset","isRequired":true,"uniqueKey":"data.objects.items.[INDEX].everyoneAccessLevel.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["FULL","NO_ACCESS",null],"description":"Access for everyone in the organization, or null if unset","isRequired":true,"uniqueKey":"data.objects.items.[INDEX].everyoneAccessLevel.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.objects.items.[INDEX].everyoneAccessLevel","typeLabel":"enum\u003cstring> | null"},"groupAccess":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Organization group or member ID","isRequired":true,"uniqueKey":"data.objects.items.[INDEX].groupAccess.items.[INDEX].id","typeLabel":"string"},"accessLevel":{"type":"string","enum":["FULL","NO_ACCESS"],"description":"FULL allows querying the object; NO_ACCESS blocks it in queries, chat, and metadata","isRequired":true,"uniqueKey":"data.objects.items.[INDEX].groupAccess.items.[INDEX].accessLevel","typeLabel":"enum\u003cstring>"}},"required":["id","accessLevel"],"uniqueKey":"data.objects.items.[INDEX].groupAccess.items.[INDEX]","typeLabel":"object"},"description":"Group rules on this object","isRequired":true,"uniqueKey":"data.objects.items.[INDEX].groupAccess","typeLabel":"object[]"},"memberAccess":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","minLength":1,"description":"Organization group or member ID","isRequired":true,"uniqueKey":"data.objects.items.[INDEX].memberAccess.items.[INDEX].id","typeLabel":"string"},"accessLevel":{"type":"string","enum":["FULL","NO_ACCESS"],"description":"FULL allows querying the object; NO_ACCESS blocks it in queries, chat, and metadata","isRequired":true,"uniqueKey":"data.objects.items.[INDEX].memberAccess.items.[INDEX].accessLevel","typeLabel":"enum\u003cstring>"}},"required":["id","accessLevel"],"uniqueKey":"data.objects.items.[INDEX].memberAccess.items.[INDEX]","typeLabel":"object"},"description":"Member rules on this object","isRequired":true,"uniqueKey":"data.objects.items.[INDEX].memberAccess","typeLabel":"object[]"}},"required":["schemaName","tableName","columnName","everyoneAccessLevel","groupAccess","memberAccess"],"uniqueKey":"data.objects.items.[INDEX]","typeLabel":"object"},"description":"Schema, table, and column rules: objects with at least one rule, sorted by schema, table, and column","isRequired":true,"uniqueKey":"data.objects","typeLabel":"object[]"}},"required":["dataSourceId","mode","accessLevel","groupIds","memberIds","groupAccess","memberAccess","objects"],"isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"required":["data"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"dataSourceId":"\u003cstring>","mode":"everyone","accessLevel":"VIEW","groupIds":["\u003cstring>"],"memberIds":["\u003cstring>"],"groupAccess":[{"id":"\u003cstring>","accessLevel":"VIEW"}],"memberAccess":[{"id":"\u003cstring>","accessLevel":"VIEW"}],"objects":[{"schemaName":"\u003cstring>","tableName":"\u003cstring>","columnName":"\u003cstring>","everyoneAccessLevel":"FULL","groupAccess":[{"id":"\u003cstring>","accessLevel":"FULL"}],"memberAccess":[{"id":"\u003cstring>","accessLevel":"FULL"}]}]}}}},"exampleType":"generated"}},"exampleType":"generated"},"cd45f8fe-5559-45fe-b345-e38cd10109c1":{"description":"Bad request - Invalid JSON body, validation error, connection-level fields without mode, a body with neither mode nor objects, a duplicated object, an object with no rules or unknown fields, or conflicting levels for one principal on an object","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"title":{"type":"string","description":"Error type identifier","isRequired":true,"uniqueKey":"error.title","typeLabel":"string"},"detail":{"type":"string","description":"Human-readable error description","isRequired":true,"uniqueKey":"error.detail","typeLabel":"string"}},"required":["title","detail"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"title":"\u003cstring>","detail":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"9b6645d7-728a-4395-b1d6-6aecf52e5089":{"description":"Unauthorized - Missing or invalid API key","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"title":{"type":"string","description":"Error type identifier","isRequired":true,"uniqueKey":"error.title","typeLabel":"string"},"detail":{"type":"string","description":"Human-readable error description","isRequired":true,"uniqueKey":"error.detail","typeLabel":"string"}},"required":["title","detail"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"title":"\u003cstring>","detail":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"9284e10f-7bdb-41d7-ad20-19f6d329b095":{"description":"Not found - Data source, group, member, or schema object not found, or no admin access","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"title":{"type":"string","description":"Error type identifier","isRequired":true,"uniqueKey":"error.title","typeLabel":"string"},"detail":{"type":"string","description":"Human-readable error description","isRequired":true,"uniqueKey":"error.detail","typeLabel":"string"}},"required":["title","detail"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"title":"\u003cstring>","detail":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"a172bba9-833a-44d9-99d1-7e110bcf20dc":{"description":"Rate limit exceeded - Too many requests","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","required":["retryAfterMs","title","detail"],"properties":{"title":{"type":"string","description":"Error type identifier","enum":["RateLimitExceeded"],"isRequired":true,"uniqueKey":"error.title","typeLabel":"enum\u003cstring>"},"detail":{"type":"string","description":"Human-readable error description","isRequired":true,"uniqueKey":"error.detail","typeLabel":"string"},"retryAfterMs":{"type":"number","description":"Milliseconds until the rate limit window resets","isRequired":true,"uniqueKey":"error.retryAfterMs","typeLabel":"number"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"title":"RateLimitExceeded","detail":"\u003cstring>","retryAfterMs":123}}}},"exampleType":"generated"}},"exampleType":"generated"},"1263863a-174c-4f9e-876a-bef632a99282":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"title":{"type":"string","description":"Error type identifier","isRequired":true,"uniqueKey":"error.title","typeLabel":"string"},"detail":{"type":"string","description":"Human-readable error description","isRequired":true,"uniqueKey":"error.detail","typeLabel":"string"}},"required":["title","detail"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"title":"\u003cstring>","detail":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"1f87694b-9352-4033-a093-1aa6955afacc":{"bearerAuth":{"type":"http","scheme":"bearer","description":"API key authentication using Bearer token format: `Bearer \u003cbasedash_api_key>`","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"ced2b752-ccc0-40d7-8000-3375bc31a7ca":{"url":"https://charts.basedash.com","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"API key authentication using Bearer token format: `Bearer \u003cbasedash_api_key>`","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"API key authentication using Bearer token format: `Bearer \u003cbasedash_api_key>`","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"https://charts.basedash.com/api/public/openapi"},"subdomain":"basedash","siteName":"Basedash Documentation","title":"Update data source access - Basedash Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-26T18:13:24.153Z","originalFileLocation":"api-reference/data-sources/update-data-source-access.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=\"Updates the access policy for a data source. Requires admin access to the organization. Connection-level access: when mode is sent, it replaces who can query the data source. Use mode \u0026quot;everyone\u0026quot; to allow all organization members to view or edit it, or mode \u0026quot;restricted\u0026quot; with groupAccess/memberAccess to limit access; an omitted groupAccess or memberAccess means none. Legacy groupIds/memberIds grant view access. Omit mode to leave connection-level access unchanged; the body must then contain only objects, and sending accessLevel, groupAccess, memberAccess, groupIds, or memberIds without mode returns 400. A body with neither mode nor objects also returns 400. Schema, table, and column rules are optional. Omit objects to leave them unchanged. When objects is sent, even as an empty array, it replaces every object rule on the data source, including rules configured in the app. Objects are identified by their synced schema, table, and column names. Each object must set at least one of everyoneAccessLevel, groupAccess, or memberAccess, and unknown fields return 400; to remove an object\u0026#x27;s rules, leave the object out. Object rules are evaluated from schema to table to column; an object without a matching rule inherits from its parent. At each object a member rule beats group rules, a group with FULL beats groups with NO_ACCESS, and group rules beat the everyone rule. Rules apply to every role, including admins. To restrict tables to a group, set everyoneAccessLevel to NO_ACCESS and give the group FULL on the same object. Prefer schema-level rules for allow-lists: new tables in the schema inherit NO_ACCESS. New object rules must reference groups, active members, and objects that exist in the synced schema; otherwise nothing is changed, including the connection-level policy, and the request returns 404. Existing rules are kept as-is even if their object has since been dropped. Sending the same object rules again is a no-op for them: unchanged rules are not rewritten and open clients are not notified.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Basedash Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/basedash/n_QsJmQ5wA_-S9WZ/_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=\"/docs/mintlify-assets/_mintlify/favicons/basedash/n_QsJmQ5wA_-S9WZ/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/basedash/n_QsJmQ5wA_-S9WZ/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/basedash/n_QsJmQ5wA_-S9WZ/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/basedash/n_QsJmQ5wA_-S9WZ/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/basedash/n_QsJmQ5wA_-S9WZ/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/basedash/n_QsJmQ5wA_-S9WZ/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/basedash/n_QsJmQ5wA_-S9WZ/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/basedash/n_QsJmQ5wA_-S9WZ/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Update data source access - Basedash Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Updates the access policy for a data source. Requires admin access to the organization. Connection-level access: when mode is sent, it replaces who can query the data source. Use mode \u0026quot;everyone\u0026quot; to allow all organization members to view or edit it, or mode \u0026quot;restricted\u0026quot; with groupAccess/memberAccess to limit access; an omitted groupAccess or memberAccess means none. Legacy groupIds/memberIds grant view access. Omit mode to leave connection-level access unchanged; the body must then contain only objects, and sending accessLevel, groupAccess, memberAccess, groupIds, or memberIds without mode returns 400. A body with neither mode nor objects also returns 400. Schema, table, and column rules are optional. Omit objects to leave them unchanged. When objects is sent, even as an empty array, it replaces every object rule on the data source, including rules configured in the app. Objects are identified by their synced schema, table, and column names. Each object must set at least one of everyoneAccessLevel, groupAccess, or memberAccess, and unknown fields return 400; to remove an object\u0026#x27;s rules, leave the object out. Object rules are evaluated from schema to table to column; an object without a matching rule inherits from its parent. At each object a member rule beats group rules, a group with FULL beats groups with NO_ACCESS, and group rules beat the everyone rule. Rules apply to every role, including admins. To restrict tables to a group, set everyoneAccessLevel to NO_ACCESS and give the group FULL on the same object. Prefer schema-level rules for allow-lists: new tables in the schema inherit NO_ACCESS. New object rules must reference groups, active members, and objects that exist in the synced schema; otherwise nothing is changed, including the connection-level policy, and the request returns 404. Existing rules are kept as-is even if their object has since been dropped. Sending the same object rules again is a no-op for them: unchanged rules are not rewritten and open clients are not notified.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Basedash Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.basedash.com/docs/api-reference/data-sources/update-data-source-access\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://basedash.mintlify.site/docs/_mintlify/api/og/v2?division=Data+Sources\u0026amp;title=Update+data+source+access\u0026amp;description=Updates+the+access+policy+for+a+data+source.+Requires+admin+access+to+the+organization.%0A%0AConnection-level+access%3A+when+mode+is+sent%2C+it+replaces+who+can+query+t\u0026amp;theme=c5a556851c965f677a967b22\u0026amp;signature=30597f7b9b3cb77cf3a75d3cc308012f19e7f42e7d5695928bf572e159ce7563\">\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=\"Update data source access - Basedash Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Updates the access policy for a data source. Requires admin access to the organization. Connection-level access: when mode is sent, it replaces who can query the data source. Use mode \u0026quot;everyone\u0026quot; to allow all organization members to view or edit it, or mode \u0026quot;restricted\u0026quot; with groupAccess/memberAccess to limit access; an omitted groupAccess or memberAccess means none. Legacy groupIds/memberIds grant view access. Omit mode to leave connection-level access unchanged; the body must then contain only objects, and sending accessLevel, groupAccess, memberAccess, groupIds, or memberIds without mode returns 400. A body with neither mode nor objects also returns 400. Schema, table, and column rules are optional. Omit objects to leave them unchanged. When objects is sent, even as an empty array, it replaces every object rule on the data source, including rules configured in the app. Objects are identified by their synced schema, table, and column names. Each object must set at least one of everyoneAccessLevel, groupAccess, or memberAccess, and unknown fields return 400; to remove an object\u0026#x27;s rules, leave the object out. Object rules are evaluated from schema to table to column; an object without a matching rule inherits from its parent. At each object a member rule beats group rules, a group with FULL beats groups with NO_ACCESS, and group rules beat the everyone rule. Rules apply to every role, including admins. To restrict tables to a group, set everyoneAccessLevel to NO_ACCESS and give the group FULL on the same object. Prefer schema-level rules for allow-lists: new tables in the schema inherit NO_ACCESS. New object rules must reference groups, active members, and objects that exist in the synced schema; otherwise nothing is changed, including the connection-level policy, and the request returns 404. Existing rules are kept as-is even if their object has since been dropped. Sending the same object rules again is a no-op for them: unchanged rules are not rewritten and open clients are not notified.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://basedash.mintlify.site/docs/_mintlify/api/og/v2?division=Data+Sources\u0026amp;title=Update+data+source+access\u0026amp;description=Updates+the+access+policy+for+a+data+source.+Requires+admin+access+to+the+organization.%0A%0AConnection-level+access%3A+when+mode+is+sent%2C+it+replaces+who+can+query+t\u0026amp;theme=c5a556851c965f677a967b22\u0026amp;signature=30597f7b9b3cb77cf3a75d3cc308012f19e7f42e7d5695928bf572e159ce7563\">\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=\"/docs/mintlify-assets/_mintlify/favicons/basedash/n_QsJmQ5wA_-S9WZ/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Basedash Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3C50FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.basedash.com/docs/api-reference/data-sources/update-data-source-access\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/api-reference/data-sources/update-data-source-access.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.basedash.com/#organization\",\"name\":\"Basedash Documentation\",\"url\":\"https://www.basedash.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/basedash/UcHJpOmrR3J146WE/logo/light.svg?fit=max\u0026auto=format\u0026n=UcHJpOmrR3J146WE\u0026q=85\u0026s=ffbaede88501c143a403b5850090b42a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://www.basedash.com/docs#website\",\"name\":\"Basedash Documentation\",\"url\":\"https://www.basedash.com/docs\",\"publisher\":{\"@id\":\"https://www.basedash.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.basedash.com/docs/api-reference/data-sources/update-data-source-access#webpage\",\"url\":\"https://www.basedash.com/docs/api-reference/data-sources/update-data-source-access\",\"name\":\"Update data source access\",\"description\":\"Updates the access policy for a data source. Requires admin access to the organization. Connection-level access: when mode is sent, it replaces who can query the data source. Use mode \\\"everyone\\\" to allow all organization members to view or edit it, or mode \\\"restricted\\\" with groupAccess/memberAccess to limit access; an omitted groupAccess or memberAccess means none. Legacy groupIds/memberIds grant view access. Omit mode to leave connection-level access unchanged; the body must then contain only objects, and sending accessLevel, groupAccess, memberAccess, groupIds, or memberIds without mode returns 400. A body with neither mode nor objects also returns 400. Schema, table, and column rules are optional. Omit objects to leave them unchanged. When objects is sent, even as an empty array, it replaces every object rule on the data source, including rules configured in the app. Objects are identified by their synced schema, table, and column names. Each object must set at least one of everyoneAccessLevel, groupAccess, or memberAccess, and unknown fields return 400; to remove an object's rules, leave the object out. Object rules are evaluated from schema to table to column; an object without a matching rule inherits from its parent. At each object a member rule beats group rules, a group with FULL beats groups with NO_ACCESS, and group rules beat the everyone rule. Rules apply to every role, including admins. To restrict tables to a group, set everyoneAccessLevel to NO_ACCESS and give the group FULL on the same object. Prefer schema-level rules for allow-lists: new tables in the schema inherit NO_ACCESS. New object rules must reference groups, active members, and objects that exist in the synced schema; otherwise nothing is changed, including the connection-level policy, and the request returns 404. Existing rules are kept as-is even if their object has since been dropped. Sending the same object rules again is a no-op for them: unchanged rules are not rewritten and open clients are not notified.\",\"dateModified\":\"2026-10-26T18:13:24.153Z\",\"isPartOf\":{\"@id\":\"https://www.basedash.com/docs#website\"},\"breadcrumb\":{\"@id\":\"https://www.basedash.com/docs/api-reference/data-sources/update-data-source-access#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.basedash.com/docs/api-reference/data-sources/update-data-source-access#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Endpoints\",\"item\":\"https://www.basedash.com/docs/api-reference/billing-accounts/list-billing-accounts\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Data Sources\",\"item\":\"https://www.basedash.com/docs/api-reference/data-sources/get-a-data-source\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Update data source access\",\"item\":\"https://www.basedash.com/docs/api-reference/data-sources/update-data-source-access\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://www.basedash.com/docs/api-reference/data-sources/update-data-source-access#apireference\",\"headline\":\"Update data source access\",\"name\":\"Update data source access\",\"description\":\"Updates the access policy for a data source. Requires admin access to the organization. Connection-level access: when mode is sent, it replaces who can query the data source. Use mode \\\"everyone\\\" to allow all organization members to view or edit it, or mode \\\"restricted\\\" with groupAccess/memberAccess to limit access; an omitted groupAccess or memberAccess means none. Legacy groupIds/memberIds grant view access. Omit mode to leave connection-level access unchanged; the body must then contain only objects, and sending accessLevel, groupAccess, memberAccess, groupIds, or memberIds without mode returns 400. A body with neither mode nor objects also returns 400. Schema, table, and column rules are optional. Omit objects to leave them unchanged. When objects is sent, even as an empty array, it replaces every object rule on the data source, including rules configured in the app. Objects are identified by their synced schema, table, and column names. Each object must set at least one of everyoneAccessLevel, groupAccess, or memberAccess, and unknown fields return 400; to remove an object's rules, leave the object out. Object rules are evaluated from schema to table to column; an object without a matching rule inherits from its parent. At each object a member rule beats group rules, a group with FULL beats groups with NO_ACCESS, and group rules beat the everyone rule. Rules apply to every role, including admins. To restrict tables to a group, set everyoneAccessLevel to NO_ACCESS and give the group FULL on the same object. Prefer schema-level rules for allow-lists: new tables in the schema inherit NO_ACCESS. New object rules must reference groups, active members, and objects that exist in the synced schema; otherwise nothing is changed, including the connection-level policy, and the request returns 404. Existing rules are kept as-is even if their object has since been dropped. Sending the same object rules again is a no-op for them: unchanged rules are not rewritten and open clients are not notified.\",\"url\":\"https://www.basedash.com/docs/api-reference/data-sources/update-data-source-access\",\"mainEntityOfPage\":{\"@id\":\"https://www.basedash.com/docs/api-reference/data-sources/update-data-source-access#webpage\"},\"dateModified\":\"2026-10-26T18:13:24.153Z\",\"publisher\":{\"@id\":\"https://www.basedash.com/#organization\"},\"isPartOf\":{\"@id\":\"https://www.basedash.com/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Basedash Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Basedash Documentation","nav":{"global":{"anchors":[{"anchor":"Changelog","icon":"clock-rotate-left","href":"https://www.basedash.com/changelog"},{"anchor":"Contact support","icon":"life-ring","href":"mailto:support@basedash.com"}]},"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/getting-started/welcome"}]},{"tab":"Data sources","pages":[{"title":"Data sources","href":"/data-sources/introduction"}]},{"tab":"Developers","groups":[{"group":"Get started","pages":[{"title":"Developer overview","sidebarTitle":"Overview","icon":"code","href":"/developers/overview"}]},{"group":"API","pages":[{"title":"Overview","href":"/api-reference/overview"}]},{"group":"Endpoints","pages":[{"group":"Billing accounts","pages":[{"title":"List billing accounts","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/billing-accounts","href":"/api-reference/billing-accounts/list-billing-accounts"},{"title":"Get a billing account","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/billing-accounts/{billingAccountId}","href":"/api-reference/billing-accounts/get-a-billing-account"},{"title":"List attached organizations","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/billing-accounts/{billingAccountId}/organizations","href":"/api-reference/billing-accounts/list-attached-organizations"},{"title":"Attach an organization","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi post /api/public/billing-accounts/{billingAccountId}/organizations","href":"/api-reference/billing-accounts/attach-an-organization"},{"title":"Detach an organization","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi delete /api/public/billing-accounts/{billingAccountId}/organizations/{orgId}","href":"/api-reference/billing-accounts/detach-an-organization"},{"title":"Get pooled AI usage","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/billing-accounts/{billingAccountId}/ai-usage","href":"/api-reference/billing-accounts/get-pooled-ai-usage"}]},{"group":"Organizations","pages":[{"title":"List organizations","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations","href":"/api-reference/organizations/list-organizations"},{"title":"Create an organization","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi post /api/public/organizations","href":"/api-reference/organizations/create-an-organization"},{"title":"List audit log events","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/audit-logs","href":"/api-reference/organizations/list-audit-log-events"},{"title":"Get AI usage","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/ai-usage","href":"/api-reference/organizations/get-ai-usage"},{"title":"Get an organization","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{id}","href":"/api-reference/organizations/get-an-organization"},{"title":"Delete an organization","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi delete /api/public/organizations/{id}","href":"/api-reference/organizations/delete-an-organization"},{"title":"Update an organization","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi patch /api/public/organizations/{id}","href":"/api-reference/organizations/update-an-organization"},{"title":"Upload organization icon","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi post /api/public/organizations/{id}/icon","href":"/api-reference/organizations/upload-organization-icon"}]},{"group":"Embedding","pages":[{"title":"Upload embedded user avatar","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi post /api/public/organizations/{orgId}/embedded-users/{userId}/avatar","href":"/api-reference/embedding/upload-embedded-user-avatar"},{"title":"JWT authentication","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/sso/jwt","href":"/api-reference/embedding/jwt-authentication"}]},{"group":"Data Sources","pages":[{"title":"Get a data source","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/data-sources/{id}","href":"/api-reference/data-sources/get-a-data-source"},{"title":"Delete a data source","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi delete /api/public/organizations/{orgId}/data-sources/{id}","href":"/api-reference/data-sources/delete-a-data-source"},{"title":"Update a data source","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi patch /api/public/organizations/{orgId}/data-sources/{id}","href":"/api-reference/data-sources/update-a-data-source"},{"title":"List data sources","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/data-sources","href":"/api-reference/data-sources/list-data-sources"},{"title":"Create a data source","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi post /api/public/organizations/{orgId}/data-sources","href":"/api-reference/data-sources/create-a-data-source"},{"title":"Verify data source credentials","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi post /api/public/organizations/{orgId}/data-sources/verify","href":"/api-reference/data-sources/verify-data-source-credentials"},{"title":"Get data source access","description":"Retrieves the access policy for a data source: who can query it, and the schema, table, and column rules on it. The response can be sent back to the update endpoint unchanged. Requires admin access to the organization.","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/data-sources/{id}/access","href":"/api-reference/data-sources/get-data-source-access"},{"title":"Update data source access","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi put /api/public/organizations/{orgId}/data-sources/{id}/access","href":"/api-reference/data-sources/update-data-source-access"}]},{"group":"Automations","pages":[{"title":"List automations","description":"Lists automations for an organization. Requires admin access to the organization. Results are paginated and ordered by creation date (newest first).","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/automations","href":"/api-reference/automations/list-automations"},{"title":"Create an automation","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi post /api/public/organizations/{orgId}/automations","href":"/api-reference/automations/create-an-automation"},{"title":"Get an automation","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/automations/{id}","href":"/api-reference/automations/get-an-automation"},{"title":"Archive an automation","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi delete /api/public/organizations/{orgId}/automations/{id}","href":"/api-reference/automations/archive-an-automation"},{"title":"Update an automation","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi patch /api/public/organizations/{orgId}/automations/{id}","href":"/api-reference/automations/update-an-automation"},{"title":"Get automation access","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/automations/{id}/access","href":"/api-reference/automations/get-automation-access"},{"title":"Update automation access","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi put /api/public/organizations/{orgId}/automations/{id}/access","href":"/api-reference/automations/update-automation-access"},{"title":"List automation runs","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/automations/{id}/runs","href":"/api-reference/automations/list-automation-runs"},{"title":"Start an automation run","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi post /api/public/organizations/{orgId}/automations/{id}/runs","href":"/api-reference/automations/start-an-automation-run"},{"title":"Get an automation run","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/automations/{id}/runs/{runId}","href":"/api-reference/automations/get-an-automation-run"}]},{"group":"Models","pages":[{"title":"List models","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/models","href":"/api-reference/models/list-models"},{"title":"Create a model","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi post /api/public/organizations/{orgId}/models","href":"/api-reference/models/create-a-model"},{"title":"Get a model","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/models/{id}","href":"/api-reference/models/get-a-model"},{"title":"Delete a model","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi delete /api/public/organizations/{orgId}/models/{id}","href":"/api-reference/models/delete-a-model"},{"title":"Update a model","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi patch /api/public/organizations/{orgId}/models/{id}","href":"/api-reference/models/update-a-model"}]},{"group":"MCP servers","pages":[{"title":"Get an MCP server","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/mcp-servers/{id}","href":"/api-reference/mcp-servers/get-an-mcp-server"},{"title":"Delete an MCP server","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi delete /api/public/organizations/{orgId}/mcp-servers/{id}","href":"/api-reference/mcp-servers/delete-an-mcp-server"},{"title":"Update an MCP server","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi patch /api/public/organizations/{orgId}/mcp-servers/{id}","href":"/api-reference/mcp-servers/update-an-mcp-server"},{"title":"List MCP servers","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/mcp-servers","href":"/api-reference/mcp-servers/list-mcp-servers"},{"title":"Create an MCP server","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi post /api/public/organizations/{orgId}/mcp-servers","href":"/api-reference/mcp-servers/create-an-mcp-server"}]},{"group":"Dashboards","pages":[{"title":"List dashboards","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/dashboards","href":"/api-reference/dashboards/list-dashboards"},{"title":"Create a dashboard","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi post /api/public/organizations/{orgId}/dashboards","href":"/api-reference/dashboards/create-a-dashboard"},{"title":"List charts on a dashboard","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/dashboards/{dashboardId}/charts","href":"/api-reference/dashboards/list-charts-on-a-dashboard"},{"title":"Create a dashboard tab","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi post /api/public/organizations/{orgId}/dashboards/{dashboardId}/tabs","href":"/api-reference/dashboards/create-a-dashboard-tab"},{"title":"Delete a dashboard tab","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi delete /api/public/organizations/{orgId}/dashboards/{dashboardId}/tabs/{tabId}","href":"/api-reference/dashboards/delete-a-dashboard-tab"},{"title":"Update a dashboard tab","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi patch /api/public/organizations/{orgId}/dashboards/{dashboardId}/tabs/{tabId}","href":"/api-reference/dashboards/update-a-dashboard-tab"},{"title":"Get a dashboard","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/dashboards/{id}","href":"/api-reference/dashboards/get-a-dashboard"},{"title":"Delete a dashboard","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi delete /api/public/organizations/{orgId}/dashboards/{id}","href":"/api-reference/dashboards/delete-a-dashboard"},{"title":"Update a dashboard","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi patch /api/public/organizations/{orgId}/dashboards/{id}","href":"/api-reference/dashboards/update-a-dashboard"},{"title":"Get dashboard access","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/dashboards/{id}/access","href":"/api-reference/dashboards/get-dashboard-access"},{"title":"Update dashboard access","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi put /api/public/organizations/{orgId}/dashboards/{id}/access","href":"/api-reference/dashboards/update-dashboard-access"}]},{"group":"Charts","pages":[{"title":"Create a chart","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi post /api/public/organizations/{orgId}/charts","href":"/api-reference/charts/create-a-chart"},{"title":"Get a chart","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/charts/{id}","href":"/api-reference/charts/get-a-chart"},{"title":"Delete a chart","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi delete /api/public/organizations/{orgId}/charts/{id}","href":"/api-reference/charts/delete-a-chart"},{"title":"Update a chart","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi patch /api/public/organizations/{orgId}/charts/{id}","href":"/api-reference/charts/update-a-chart"},{"title":"Get a chart image","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/charts/{id}/image","href":"/api-reference/charts/get-a-chart-image"}]},{"group":"Insights","pages":[{"title":"List insights","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/insights","href":"/api-reference/insights/list-insights"},{"title":"Generate an insight","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi post /api/public/organizations/{orgId}/insights","href":"/api-reference/insights/generate-an-insight"},{"title":"Get an insight","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/insights/{id}","href":"/api-reference/insights/get-an-insight"},{"title":"Delete an insight","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi delete /api/public/organizations/{orgId}/insights/{id}","href":"/api-reference/insights/delete-an-insight"}]},{"group":"Members","pages":[{"title":"List members","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/members","href":"/api-reference/members/list-members"},{"title":"Invite a member","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi post /api/public/organizations/{orgId}/members","href":"/api-reference/members/invite-a-member"},{"title":"Get a member","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/members/{id}","href":"/api-reference/members/get-a-member"},{"title":"Deactivate a member","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi delete /api/public/organizations/{orgId}/members/{id}","href":"/api-reference/members/deactivate-a-member"},{"title":"Update a member","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi patch /api/public/organizations/{orgId}/members/{id}","href":"/api-reference/members/update-a-member"}]},{"group":"Groups","pages":[{"title":"List groups","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/groups","href":"/api-reference/groups/list-groups"},{"title":"Create a group","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi post /api/public/organizations/{orgId}/groups","href":"/api-reference/groups/create-a-group"},{"title":"Get a group","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/groups/{id}","href":"/api-reference/groups/get-a-group"},{"title":"Delete a group","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi delete /api/public/organizations/{orgId}/groups/{id}","href":"/api-reference/groups/delete-a-group"},{"title":"Update a group","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi patch /api/public/organizations/{orgId}/groups/{id}","href":"/api-reference/groups/update-a-group"},{"title":"Add a member to a group","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi post /api/public/organizations/{orgId}/groups/{id}/members","href":"/api-reference/groups/add-a-member-to-a-group"}]},{"group":"Skills","pages":[{"title":"List skills","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/skills","href":"/api-reference/skills/list-skills"},{"title":"Create a skill","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi post /api/public/organizations/{orgId}/skills","href":"/api-reference/skills/create-a-skill"},{"title":"Get a skill","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/skills/{id}","href":"/api-reference/skills/get-a-skill"},{"title":"Delete a skill","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi delete /api/public/organizations/{orgId}/skills/{id}","href":"/api-reference/skills/delete-a-skill"},{"title":"Update a skill","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi patch /api/public/organizations/{orgId}/skills/{id}","href":"/api-reference/skills/update-a-skill"}]},{"group":"Chats","pages":[{"title":"List chats","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/chats","href":"/api-reference/chats/list-chats"},{"title":"Start a chat","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi post /api/public/organizations/{orgId}/chats","href":"/api-reference/chats/start-a-chat"},{"title":"Get a chat","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/chats/{chatId}","href":"/api-reference/chats/get-a-chat"},{"title":"Delete a chat","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi delete /api/public/organizations/{orgId}/chats/{chatId}","href":"/api-reference/chats/delete-a-chat"},{"title":"List messages in a chat","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/chats/{chatId}/messages","href":"/api-reference/chats/list-messages-in-a-chat"},{"title":"Send a follow-up message","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi post /api/public/organizations/{orgId}/chats/{chatId}/messages","href":"/api-reference/chats/send-a-follow-up-message"},{"title":"Get a message","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/chats/{chatId}/messages/{messageId}","href":"/api-reference/chats/get-a-message"},{"title":"Cancel a response","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi post /api/public/organizations/{orgId}/chats/{chatId}/messages/{messageId}/cancel","href":"/api-reference/chats/cancel-a-response"},{"title":"Stream an assistant message","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/chats/{chatId}/messages/{messageId}/events","href":"/api-reference/chats/stream-an-assistant-message"},{"title":"Get chat access","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi get /api/public/organizations/{orgId}/chats/{chatId}/access","href":"/api-reference/chats/get-chat-access"},{"title":"Update chat access","deprecated":null,"version":null,"openapi":"https://charts.basedash.com/api/public/openapi put /api/public/organizations/{orgId}/chats/{chatId}/access","href":"/api-reference/chats/update-chat-access"}]}]},{"group":"Embedding","pages":[{"title":"Embedding","icon":"code","href":"/developers/embedding"},{"title":"React SDK","icon":"code","href":"/developers/embedding-react-sdk"}]},{"group":"Recipes","pages":[{"title":"Recipes","icon":"book-open","href":"/recipes/overview"},{"title":"Multi-tenant embedding","icon":"building","href":"/recipes/multi-tenant-embedding"}]},{"group":"Agent briefs","hidden":true,"pages":[{"title":"Agent brief: multi-tenant embedding","sidebarTitle":"Agent brief","href":"/recipes/agents/multi-tenant-embedding"}]}]},{"tab":"Self-hosting","pages":[{"title":"Self-hosting","href":"/self-hosting/overview"}]}]},"basePath":"","title":"Update data source access - Basedash Documentation","buildId":"dpl_ATnXPMW25DMPUr9VBw6kL6MfBt6T","deploymentId":"dpl_ATnXPMW25DMPUr9VBw6kL6MfBt6T","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CNqlzjVB.js","utils-BqFiXZ79.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CnR4QBe6.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BY2ZM1OO.js","snippetPresets-x-8ACO8V.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-Ch-SJE05.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CqqG_0NE.js","shallow-BXrZ2b0C.js","getApiPlaygroundDisplay-n7J_wkjq.js","CodeSnippet-CQsp4vyQ.js","CodeSnippets-BfuHqvZx.js","Page-CTxrMSpo.js","getPastedJson-BjrGIK1i.js","icon-7iLZnVOC.js","MethodPill-TBS1m84e.js","DuplicateIcon-BNMrV4Vs.js","createIcon-C5kCqeU2.js","DynamicMarkdown-Bq09mRwR.js","SectionHeading-G4Bflf5Q.js","axios-vUo_bRtp.js","Markdown-BTUds0aX.js","clsx-6wHzaN2_.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BPypQKlo.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-o6bee4ro.js"]}