---
title: "List permissions"
method: GET
path: "/api/v3/meta/bases/{baseId}/permissions"
tags: ["Permissions"]
---

# List permissions

`GET /api/v3/meta/bases/{baseId}/permissions`

## Request

- Base URL: `https://app.nocodb.com`
- URL: `https://app.nocodb.com/api/v3/meta/bases/{baseId}/permissions`
- Auth: one of:
  - API key in header `xc-token`
  - HTTP bearer
- TypeScript: <https://skmtc.dev/nocodb/apis/nocodb-v3/docs/api/v3/meta/bases/:baseId/permissions/get.ts> (a function with typed inputs; its response is checked against the schema)

List the table and field permission grants in a base. Only tables and fields with an explicit grant appear; anything absent follows the base roles.

**Note**: Table and field permissions are available on cloud-hosted **Business** plans and above, and on licensed self-hosted deployments. Listing grants works on every plan, so a downgraded workspace can still see the grants in place.

## Path parameters

- `baseId` string, required

## Query parameters

- `tableId` string
- `entity` 'table' | 'field'

## Response `200`

Permission grants.

- PermissionList
  - `list` Permission[], required
    - `id` string: Unique identifier for the grant.
    - `entity` 'table' | 'field': What the grant is attached to.
    - `entity_id` string: Table ID or field ID.
    - `permission` 'TABLE_VISIBILITY' | 'TABLE_RECORD_ADD' | 'TABLE_RECORD_DELETE' | 'RECORD_FIELD_EDIT': `TABLE_*` keys attach to a table, `RECORD_FIELD_EDIT` to a field.
    - `granted_type` 'role' | 'user' | 'nobody': `role`: a minimum base role. `user`: only the listed subjects. `nobody`: no one.
    - `granted_role` string, nullable: Minimum role for a role grant, else null.
    - `subjects` object[]
      - `type` 'user' | 'team' | 'appTeam' | 'agent'
      - `id` string
      - `hierarchy_scope` 'self_only' | 'self_and_descendants': Team subjects only: whether the grant covers just that team or its sub-teams too.
    - `enforce_for_automation` boolean
    - `enforce_for_form` boolean
    - `created_by` string

## Other responses

- `403`: Authenticated, but not allowed: the role is too low, the token scope does not cover the operation, or the plan does not include the feature or allows no more of this resource.
- `404`: Base not found.

## Changes

- **2026-11-06** `62a735aaf849`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/nocodb/apis/nocodb-v3/changes/api/v3/meta/bases/:baseId/permissions/get.md)

---

[API](https://skmtc.dev/nocodb/apis/nocodb-v3.md) - [All operations](https://skmtc.dev/nocodb/apis/nocodb-v3/llms.txt) - [OpenAPI document](https://skmtc.dev/nocodb/apis/nocodb-v3/revisions/62a735aaf849?raw)
