# List Table Summaries

Launch stage: GA

`GET /api/2.1/unity-catalog/table-summaries`

Gets an array of summaries for tables for a schema and catalog within the metastore. The table summaries returned are either:

 * summaries for tables (within the current metastore and parent catalog and schema), when the user is a metastore admin, or:
 * summaries for tables and schemas (within the current metastore and parent catalog)
   for which the user has ownership or the **SELECT** privilege on the table and ownership or **USE_SCHEMA** privilege on the schema,
   provided that the user also has ownership or the **USE_CATALOG** privilege on the parent catalog.

 There is no guarantee of a specific ordering of the elements in the array.

 PAGINATION BEHAVIOR: The API is by default paginated, 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_pattern` (string, optional)
  A sql LIKE pattern (% and _) for schema names.
   All schemas will be returned if not set or empty.
- `table_name_pattern` (string, optional)
  A sql LIKE pattern (% and _) for table names.
   All tables will be returned if not set or empty.
- `max_results` (int32, optional)
  Maximum number of summaries for tables to return.
   If not set, the page length is set to a server configured value (10000, as of 1/5/2024).
   - when set to a value greater than 0, the page length is the minimum of this value and a server configured value (10000, as of 1/5/2024);
   - when set to 0, the page length is set to a server configured value (10000, as of 1/5/2024) (recommended);
   - when set to a value less than 0, an invalid parameter error is returned;
  Constraints: `<= 10000`
- `page_token` (string, optional)
  Opaque pagination token to go to next page based on previous query.
- `include_manifest_capabilities` (boolean, optional)
  Whether to include a manifest containing table capabilities in the response.

## Returns

- `tables` (array of object, optional)
  List of table summaries.
  - `full_name` (string, optional)
    The full name of the table.
  - `table_type` (string, optional)
    Possible values: `MANAGED`, `EXTERNAL`, `VIEW`, `MATERIALIZED_VIEW`, `STREAMING_TABLE`, `MANAGED_SHALLOW_CLONE`, `FOREIGN`, `EXTERNAL_SHALLOW_CLONE`, `METRIC_VIEW`
  - `securable_kind_manifest` (object, optional)
    SecurableKindManifest of table, including capabilities the table has.
    - `securable_type` (string, optional)
      Securable Type of the kind.
      Possible values: `CATALOG`, `SCHEMA`, `TABLE`, `STORAGE_CREDENTIAL`, `EXTERNAL_LOCATION`, `FUNCTION`, `SHARE`, `PROVIDER`, `RECIPIENT`, `CLEAN_ROOM`, `METASTORE`, `PIPELINE`, `VOLUME`, `CONNECTION`, `CREDENTIAL`, `EXTERNAL_METADATA`, `STAGING_TABLE`
    - `securable_kind` (string, optional)
      Securable kind to get manifest of.
      Possible values: `TABLE_STANDARD`, `TABLE_EXTERNAL`, `TABLE_DELTA`, `TABLE_DELTA_EXTERNAL`, `TABLE_VIEW`, `TABLE_METRIC_VIEW`, `TABLE_DELTASHARING`, `TABLE_DELTASHARING_MUTABLE`, `TABLE_VIEW_DELTASHARING`, `TABLE_METRIC_VIEW_DELTASHARING`, `TABLE_MATERIALIZED_VIEW_DELTASHARING`, `TABLE_STREAMING_LIVE_TABLE_DELTASHARING`, `TABLE_FOREIGN_DELTASHARING`, `TABLE_DELTA_ICEBERG_DELTASHARING`, `TABLE_DELTASHARING_OPEN_DIR_BASED`, `TABLE_FEATURE_STORE`, `TABLE_FEATURE_STORE_EXTERNAL`, `TABLE_STREAMING_LIVE_TABLE`, `TABLE_SYSTEM`, `TABLE_SYSTEM_DELTASHARING`, `TABLE_MATERIALIZED_VIEW`, `TABLE_INTERNAL`, `TABLE_FOREIGN_BIGQUERY`, `TABLE_FOREIGN_MYSQL`, `TABLE_FOREIGN_ORACLE`, `TABLE_FOREIGN_POSTGRESQL`, `TABLE_FOREIGN_SQLDW`, `TABLE_FOREIGN_REDSHIFT`, `TABLE_FOREIGN_SNOWFLAKE`, `TABLE_FOREIGN_SQLSERVER`, `TABLE_FOREIGN_SALESFORCE`, `TABLE_FOREIGN_SALESFORCE_DATA_CLOUD`, `TABLE_FOREIGN_SALESFORCE_DATA_CLOUD_FILE_SHARING`, `TABLE_FOREIGN_SALESFORCE_DATA_CLOUD_FILE_SHARING_VIEW`, `TABLE_FOREIGN_TERADATA`, `TABLE_FOREIGN_NETSUITE`, `TABLE_FOREIGN_DATABRICKS`, `TABLE_FOREIGN_WORKDAY_RAAS`, `TABLE_FOREIGN_HIVE_METASTORE`, `TABLE_FOREIGN_HIVE_METASTORE_MANAGED`, `TABLE_FOREIGN_HIVE_METASTORE_DBFS_MANAGED`, `TABLE_FOREIGN_HIVE_METASTORE_EXTERNAL`, `TABLE_FOREIGN_HIVE_METASTORE_DBFS_EXTERNAL`, `TABLE_FOREIGN_HIVE_METASTORE_VIEW`, `TABLE_FOREIGN_HIVE_METASTORE_DBFS_VIEW`, `TABLE_FOREIGN_HIVE_METASTORE_SHALLOW_CLONE_MANAGED`, `TABLE_FOREIGN_HIVE_METASTORE_DBFS_SHALLOW_CLONE_MANAGED`, `TABLE_FOREIGN_HIVE_METASTORE_SHALLOW_CLONE_EXTERNAL`, `TABLE_FOREIGN_HIVE_METASTORE_DBFS_SHALLOW_CLONE_EXTERNAL`, `TABLE_FOREIGN_MONGODB`, `TABLE_DELTA_UNIFORM_HUDI_EXTERNAL`, `TABLE_DELTA_UNIFORM_ICEBERG_EXTERNAL`, `TABLE_DELTA_UNIFORM_ICEBERG_FOREIGN_HIVE_METASTORE_EXTERNAL`, `TABLE_DELTA_UNIFORM_ICEBERG_FOREIGN_HIVE_METASTORE_MANAGED`, `TABLE_DELTA_UNIFORM_ICEBERG_FOREIGN_SNOWFLAKE`, `TABLE_DELTA_UNIFORM_ICEBERG_FOREIGN_DELTASHARING`, `TABLE_DELTA_UNIFORM_ICEBERG_EXTERNAL_DELTASHARING`, `TABLE_ICEBERG_UNIFORM_MANAGED`, `TABLE_DELTA_ICEBERG_MANAGED`, `TABLE_ONLINE_VECTOR_INDEX_REPLICA`, `TABLE_ONLINE_VECTOR_INDEX_DIRECT`, `TABLE_ONLINE_VIEW`, `TABLE_DB_STORAGE`, `TABLE_MANAGED_POSTGRESQL`
    - `assignable_privileges` (array of string, optional)
      Privileges that can be assigned to the securable.
    - `options` (array of object, optional)
      Detailed specs of allowed options.
      - `name` (string, optional)
        The unique name of the option.
      - `type` (string, optional)
        The type of the option.
        Possible values: `OPTION_TYPE_UNSPECIFIED`, `OPTION_BOOLEAN`, `OPTION_NUMBER`, `OPTION_BIGINT`, `OPTION_STRING`, `OPTION_ENUM`, `OPTION_SERVICE_CREDENTIAL`, `OPTION_MULTILINE_STRING`
      - `default_value` (string, optional)
        The default value of the option, for example, value '443' for 'port' option.
      - `allowed_values` (array of string, optional)
        For drop down / radio button selections, UI will want to know the possible
         input values, it can also be used by other option types to limit input selections.
      - `hint` (string, optional)
        The hint is used on the UI to suggest what the input value
         can possibly be like, for example: example.com for 'host' option.
         Unlike default value, it will not be applied automatically without user input.
      - `description` (string, optional)
        A concise user facing description of what the input value of this option should look like.
      - `is_required` (boolean, optional)
        Is the option required.
      - `is_secret` (boolean, optional)
        Is the option value considered secret and thus redacted on the UI.
      - `is_hidden` (boolean, optional)
        Is the option value not user settable and is thus not shown on the UI.
      - `is_updatable` (boolean, optional)
        Is the option updatable by users.
      - `oauth_stage` (string, optional)
        Specifies when the option value is displayed on the UI within the OAuth flow.
        Possible values: `OAUTH_STAGE_UNSPECIFIED`, `BEFORE_AUTHORIZATION_CODE`, `BEFORE_ACCESS_TOKEN`
      - `is_loggable` (boolean, optional)
        Specifies whether this option is safe to log, i.e. no sensitive information.
      - `is_creatable` (boolean, optional)
        Indicates whether an option can be provided by users in the create/update path of an entity.
      - `is_copiable` (boolean, optional)
        Indicates whether an option should be displayed with copy button on the UI.
    - `capabilities` (array of string, optional)
      A list of capabilities in the securable kind.
- `next_page_token` (string, optional)
  Opaque token to retrieve the next page of results. Absent if there are no more pages.
   __page_token__ should be set to this value for the next request (for the next page of results).

## Response

```json
{
  "tables": [
    {
      "full_name": "string",
      "table_type": "string",
      "securable_kind_manifest": {}
    }
  ],
  "next_page_token": "string"
}
```

