---
title: "List all tables in a module"
method: GET
path: "/api/v1/workspace/{workspaceId}/modules/{moduleName}/tables"
tags: ["Tables"]
---

# List all tables in a module

`GET /api/v1/workspace/{workspaceId}/modules/{moduleName}/tables`

Retrieves all tables within a module

## Path parameters

- `moduleName` string, required
- `workspaceId` string, required

## Response `200`

Tables retrieved successfully

- TablesResponse
  - `data` object[], required — List of tables
    - `createRoles` string[] — Roles allowed to create records
    - `deleteRoles` string[] — Roles allowed to delete records
    - `fields` object[]
      - `expression` string — Expression (for function type)
      - `expressionErrors` object[] — Expression validation errors (for function type)
        - `column` number, required — Column number where the error occurred
        - `line` number, required — Line number where the error occurred
        - `message` string, required — Error message
      - `index` boolean — Field is indexed
      - `labels` object — Field labels (localized)
      - `name` string, required — Field name
      - `optionColor` string — Color expression for dchoice/dmulti fields
      - `optionIcon` string — Icon expression for dchoice/dmulti fields
      - `optionName` string — Display name expression for dchoice/dmulti fields
      - `options` union — Options array for choice/multi fields, or selection expression for dchoice/dmulti fields
        - object[]
          - `color` string — Option color (hex string)
          - `icon` string — Option icon name
          - `id` string, required — Stable option id
          - `labels` object — Localized option labels
          - `name` string, required — Option name
          - `order` number, required — Option display order
          - `textColor` string — Option text color (hex string)
        - string
      - `readRoles` string[] — Roles allowed to read the field
      - `refTableId` string — Reference table id
      - `required` boolean — Field is required
      - `search` boolean — Field is searchable
      - `type` 'any' | 'appointment' | 'boolean' | 'choice' | 'color' | 'date' | 'dchoice' | 'dmulti' | 'file' | 'function' | 'html' | 'icon' | 'lambda' | 'multi' | 'number' | 'react' | 'reference' | 'reverse' | 'rowId' | 'string' | 'styled' | 'time' | 'timeinterval' | 'timestamp' | 'unknown' | 'user' | 'void', required — Field type
      - `unique` boolean — Field is unique
      - `variant` string — Field variant (for string type)
      - `writeRoles` string[] — Roles allowed to write to the field
    - `hasFiles` boolean — Enable files for the table
    - `hasGlobalSearch` boolean — Enable global search for the table
    - `hasHistory` boolean — Enable history for the table
    - `icon` object — Table icon
      - `color` string — Icon color (hex string)
      - `filling` union — Icon filling
        - 0
        - 1
      - `icon` string, required — Icon name
    - `isEmailLinkingEnabled` boolean — Enable email linking for the table
    - `isHidden` boolean — Hide the table
    - `labels` object — Table labels (localized)
    - `name` string, required
    - `readRoles` string[] — Roles allowed to read records
    - `writeRoles` string[] — Roles allowed to update records

## Other responses

- `401` — Unauthorized
- `404` — Module not found
- `500` — Internal server error

---

[API](https://skmtc.dev/ninox/apis/ninox-public-api.md) · [All operations](https://skmtc.dev/ninox/apis/ninox-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/ninox/ninox-public-api/revisions/db85c6d8ab7f/schema)
