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

# Update dashboard access

> Replaces the access policy. Send the complete policy: groups and members not listed lose their access. Use mode "everyone" to give every organization member accessLevel (plus any listed groupAccess/memberAccess), or mode "restricted" so only the listed groups and members, the creator and organization admins can access it; restricting removes the default everyone access. groupAccess and memberAccess are required (send [] for none), and listing one principal twice with different levels is rejected. The GET response can be sent back unchanged, and sending the current policy again changes nothing. View-only members are capped at VIEW whatever their grant. For a dashboard in a folder, mode "inherit" removes the dashboard's own access so it uses its folder's access. Requires admin access to the organization.



## OpenAPI

````yaml https://charts.basedash.com/api/public/openapi put /api/public/organizations/{orgId}/dashboards/{id}/access
openapi: 3.1.0
info:
  title: Basedash Public API
  version: 0.0.0
  description: >-
    API for programmatic access to Basedash features. Use API keys for
    authentication.
  contact:
    name: Basedash Support
    url: https://basedash.com
    email: support@basedash.com
servers:
  - url: https://charts.basedash.com
    description: Production
security: []
tags:
  - name: Organizations
    description: Manage organizations
  - name: Groups
    description: Manage organization groups and memberships
  - name: Data Sources
    description: Manage database connections and data sources
  - name: MCP servers
    description: Manage MCP server data sources
  - name: Insights
    description: Manage generated insights
  - name: Automations
    description: Manage automations and automation runs
  - name: Skills
    description: Manage organization skills
  - name: Models
    description: Manage reusable SQL models
  - name: Dashboards
    description: Manage dashboards and their tabs
  - name: Charts
    description: Manage charts and their SQL queries
  - name: Chats
    description: >-
      Chat with the Basedash AI agent about your data. Start a chat by sending a
      message, then continue the conversation with follow-up messages. The
      assistant responds asynchronously: pass the `wait` query parameter to
      receive the finished response in the same request, or poll the assistant
      message (or stream its events) after an HTTP 202. Chats created through
      the API are not shown in the Basedash app.
paths:
  /api/public/organizations/{orgId}/dashboards/{id}/access:
    put:
      tags:
        - Dashboards
      summary: Update dashboard access
      description: >-
        Replaces the access policy. Send the complete policy: groups and members
        not listed lose their access. Use mode "everyone" to give every
        organization member accessLevel (plus any listed
        groupAccess/memberAccess), or mode "restricted" so only the listed
        groups and members, the creator and organization admins can access it;
        restricting removes the default everyone access. groupAccess and
        memberAccess are required (send [] for none), and listing one principal
        twice with different levels is rejected. The GET response can be sent
        back unchanged, and sending the current policy again changes nothing.
        View-only members are capped at VIEW whatever their grant. For a
        dashboard in a folder, mode "inherit" removes the dashboard's own access
        so it uses its folder's access. Requires admin access to the
        organization.
      parameters:
        - schema:
            type: string
            description: Organization ID
          required: true
          description: Organization ID
          name: orgId
          in: path
        - schema:
            type: string
            description: Dashboard ID
          required: true
          description: Dashboard ID
          name: id
          in: path
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateDashboardAccessInput'
      responses:
        '200':
          description: Dashboard access updated successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/DashboardAccessResponse'
                required:
                  - data
        '400':
          description: Bad request - Invalid JSON body or validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized - Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found - Dashboard, group, or member not found or no admin access
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: Rate limit exceeded - Too many requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateLimitErrorResponse'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - bearerAuth: []
components:
  schemas:
    UpdateDashboardAccessInput:
      oneOf:
        - type: object
          properties:
            mode:
              type: string
              enum:
                - everyone
            accessLevel:
              type: string
              enum:
                - MANAGE
                - EDIT
                - VIEW
              default: VIEW
              description: Access level for every member of the organization
            groupAccess:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    minLength: 1
                    description: Organization group or member ID
                  accessLevel:
                    type: string
                    enum:
                      - MANAGE
                      - EDIT
                      - VIEW
                      - NONE
                    default: VIEW
                    description: >-
                      MANAGE can edit and change access, EDIT can edit, VIEW can
                      view. NONE explicitly denies this principal, overriding
                      group or everyone access.
                required:
                  - id
              maxItems: 500
              description: >-
                Organization groups and their access level. Required: send []
                for none.
            memberAccess:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    minLength: 1
                    description: Organization group or member ID
                  accessLevel:
                    type: string
                    enum:
                      - MANAGE
                      - EDIT
                      - VIEW
                      - NONE
                    default: VIEW
                    description: >-
                      MANAGE can edit and change access, EDIT can edit, VIEW can
                      view. NONE explicitly denies this principal, overriding
                      group or everyone access.
                required:
                  - id
              maxItems: 500
              description: >-
                Organization members and their access level. Required: send []
                for none.
          required:
            - mode
            - groupAccess
            - memberAccess
        - type: object
          properties:
            mode:
              type: string
              enum:
                - restricted
            groupAccess:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    minLength: 1
                    description: Organization group or member ID
                  accessLevel:
                    type: string
                    enum:
                      - MANAGE
                      - EDIT
                      - VIEW
                      - NONE
                    default: VIEW
                    description: >-
                      MANAGE can edit and change access, EDIT can edit, VIEW can
                      view. NONE explicitly denies this principal, overriding
                      group or everyone access.
                required:
                  - id
              maxItems: 500
              description: >-
                Organization groups and their access level. Required: send []
                for none.
            memberAccess:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                    minLength: 1
                    description: Organization group or member ID
                  accessLevel:
                    type: string
                    enum:
                      - MANAGE
                      - EDIT
                      - VIEW
                      - NONE
                    default: VIEW
                    description: >-
                      MANAGE can edit and change access, EDIT can edit, VIEW can
                      view. NONE explicitly denies this principal, overriding
                      group or everyone access.
                required:
                  - id
              maxItems: 500
              description: >-
                Organization members and their access level. Required: send []
                for none.
          required:
            - mode
            - groupAccess
            - memberAccess
        - type: object
          properties:
            mode:
              type: string
              enum:
                - inherit
          required:
            - mode
    DashboardAccessResponse:
      type: object
      properties:
        dashboardId:
          type: string
          description: Dashboard ID
        mode:
          type: string
          enum:
            - everyone
            - restricted
            - inherit
          description: >-
            everyone: all members have accessLevel, plus any listed principals.
            restricted: only listed principals, the creator and admins. inherit:
            the dashboard has no access of its own and uses its folder access.
        accessLevel:
          type:
            - string
            - 'null'
          enum:
            - MANAGE
            - EDIT
            - VIEW
            - null
          description: Access level for every member when mode is everyone
        groupAccess:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: Organization group or member ID
              accessLevel:
                type: string
                enum:
                  - MANAGE
                  - EDIT
                  - VIEW
                  - NONE
                description: >-
                  MANAGE can edit and change access, EDIT can edit, VIEW can
                  view. NONE explicitly denies this principal, overriding group
                  or everyone access.
            required:
              - id
              - accessLevel
          description: Organization groups and their access level
        memberAccess:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: Organization group or member ID
              accessLevel:
                type: string
                enum:
                  - MANAGE
                  - EDIT
                  - VIEW
                  - NONE
                description: >-
                  MANAGE can edit and change access, EDIT can edit, VIEW can
                  view. NONE explicitly denies this principal, overriding group
                  or everyone access.
            required:
              - id
              - accessLevel
          description: Organization members and their access level
      required:
        - dashboardId
        - mode
        - accessLevel
        - groupAccess
        - memberAccess
    ErrorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/ApiError'
      required:
        - error
    RateLimitErrorResponse:
      type: object
      properties:
        error:
          $ref: '#/components/schemas/RateLimitError'
      required:
        - error
    ApiError:
      type: object
      properties:
        title:
          type: string
          description: Error type identifier
        detail:
          type: string
          description: Human-readable error description
      required:
        - title
        - detail
    RateLimitError:
      allOf:
        - $ref: '#/components/schemas/ApiError'
        - type: object
          properties:
            title:
              type: string
              enum:
                - RateLimitExceeded
            retryAfterMs:
              type: number
              description: Milliseconds until the rate limit window resets
          required:
            - retryAfterMs
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        API key authentication using Bearer token format: `Bearer
        <basedash_api_key>`

````

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