# List

`GET /api/2.1/unity-catalog/tables`

Gets an array of all tables for the current metastore under the parent catalog and schema.
 The caller must be a metastore admin or an owner of (or have the **SELECT** privilege on) the table.
 For the latter case, the caller must also be the owner or have the **USE_CATALOG** privilege on the parent catalog and the **USE_SCHEMA** privilege on the parent schema.
 There is no guarantee of a specific ordering of the elements in the array.

 NOTE: **view_dependencies** and **table_constraints** are not returned by ListTables queries.

 NOTE: we recommend using max_results=0 to use the paginated version of this API. Unpaginated calls will be deprecated soon.

 PAGINATION BEHAVIOR: When using pagination (max_results >= 0), a page may contain zero results while still providing a next_page_token.
 Clients must continue reading pages until next_page_token is absent, which is the only indication that the end of results has been reached.

API scopes: unity-catalog

## Query parameters

- `catalog_name` (string, optional)
  Name of parent catalog for tables of interest.
- `schema_name` (string, optional)
  Parent schema of tables.
- `max_results` (int32, optional)
  Maximum number of tables to return.
   If not set, all the tables are returned (not recommended).
   - when set to a value greater than 0, the page length is the minimum of this value and a server configured value;
   - when set to 0, the page length is set to a server configured value (recommended);
   - when set to a value less than 0, an invalid parameter error is returned;
  Constraints: `<= 50`
- `page_token` (string, optional)
  Opaque token to send for the next page of results (pagination).
- `omit_columns` (boolean, optional)
  Whether to omit the columns of the table from the response or not.
- `omit_properties` (boolean, optional)
  Whether to omit the properties of the table from the response or not.
- `omit_username` (boolean, optional)
  Whether to omit the username of the table (e.g. owner, updated_by, created_by) from the response or not.
- `include_browse` (boolean, optional)
  Whether to include tables in the response for which the principal can only access selective metadata for.
- `include_manifest_capabilities` (boolean, optional)
  Whether to include a manifest containing table capabilities in the response.

## Returns

Returns a list of TableInfo objects.

## Response

```json
{
  "tables": [
    {
      "name": "string",
      "catalog_name": "string",
      "schema_name": "string",
      "table_type": "string",
      "data_source_format": "string",
      "storage_location": "string",
      "view_definition": "string",
      "view_dependencies": {},
      "sql_path": "string",
      "owner": "string",
      "comment": "string",
      "storage_credential_name": "string",
      "table_constraints": [
        {}
      ],
      "row_filter": {},
      "pipeline_id": "string",
      "enable_predictive_optimization": "string",
      "metastore_id": "string",
      "full_name": "string",
      "data_access_configuration_id": "string",
      "created_at": 0,
      "created_by": "string",
      "updated_at": 0,
      "updated_by": "string",
      "table_id": "string",
      "delta_runtime_properties_kvpairs": {},
      "deleted_at": 0,
      "effective_predictive_optimization_flag": {},
      "access_point": "string",
      "browse_only": true,
      "securable_kind_manifest": {},
      "columns": [
        {}
      ],
      "properties": {}
    }
  ],
  "next_page_token": "string"
}
```

