# (NEW!) List Metadata Tables (Paginated) Retrieve a paginated, searchable list of metadata tables for UI consumption. Column detail is excluded to keep this endpoint lightweight; only a count (fieldCount) is returned here, with full column detail available via GET /metadata/tables/{id}. Defaults: - sortField defaults to name. - order defaults to asc. - from defaults to 0. - limit defaults to 100, maximum 100. Business Rules: - searchTerm is a case-insensitive partial match on table name. - inUse accepts a boolean (true/false — aggregate: used anywhere at all) or one of metadataGroups, metadataTemplates, filtering to tables referenced in that specific usage category. Omitted applies no filter. inUse and isSmartTable are both valid sortField values. - isSmartTable filters to smart or standard tables only; omitted applies no filter. - includeSystem defaults to false. When true, also returns read-only, platform-owned tables used internally by various platform functionalities, alongside user-created ones. System tables cannot be edited or deleted by users. - visible and tableNameVisible are excluded entirely from this response — both are dead fields (the admin screen never lets anyone set either to anything but its fixed default). - usedIn is shaped { metadataGroups: [], metadataTemplates: [] } and never includes an attributes category — attributes never reference a table; a table contains attributes as its columns, never the reverse. The user submitting the request must have the Metadata Template Management admin privilege. Endpoint: GET /metadata/tables Version: 1.5 Security: ApiKeyAuth, BasicAuth ## Header parameters: - `Authorization` (string, required) Provided by Authentication Token creation operation. ## Query parameters: - `searchTerm` (string) Case-insensitive partial match on table name. - `inUse` (string) Filters by usage status. true/false filters on aggregate usage (referenced anywhere at all). One of metadataGroups, metadataTemplates filters to tables referenced in that specific usage category. Omitted applies no filter. Enum: "true", "false", "metadataGroups", "metadataTemplates" - `isSmartTable` (boolean) Filters to smart (true) or standard (false) tables only. Omitted applies no filter. - `includeSystem` (boolean) When true, also returns read-only, platform-owned tables used internally by various platform functionalities, in addition to user-created ones. System tables cannot be edited or deleted by users. Defaults to false. - `from` (integer) Result offset from which to start. Defaults to 0. - `limit` (integer) Number of results to return per page. Defaults to 100, maximum 100. Example: 100 - `sortField` (string) Field to sort results by. Defaults to name. Enum: "name", "createdEpoch", "lastUpdatedEpoch", "inUse", "isSmartTable" - `order` (string) Sort direction. Defaults to asc. Enum: "asc", "desc" ## Response 200 fields (application/json): - `hitCount` (integer) Total number of tables matching the search criteria. Example: 24 - `results` (array) Array of table summary objects. - `results.id` (string) Unique ID of the table. Example: "e6a91f4c-8b2d-4a17-9c6e-3f5a8d1b7c92" - `results.name` (string) Display name of the table. Example: "Store Locations Table" - `results.searchField` (string) System-generated slug. Permanent once created. Example: "store_locations_table" - `results.isSingleRow` (boolean) Fixed at creation. - `results.isSmartTable` (boolean) Fixed at creation. - `results.convertTo` (string,null) Set to smart while a standard-to-smart conversion is pending "Apply Changes"; null otherwise. Enum: "smart" - `results.featured` (boolean,null) System-assigned. null if never set. Blocks deletion when true. - `results.fieldCount` (integer) Number of columns configured on the table. Full column list is only available via GET /metadata/tables/{id}. Example: 3 - `results.createdBy` (string) User-profile id of the table's creator. Example: "8f2a5c91-4e6d-4b83-9a17-6c0d3e8b2f45" - `results.createdEpoch` (integer) Unix timestamp (ms) of creation. Example: 1772704800000 - `results.createdDate` (string) ISO 8601 creation date. Example: "2026-03-05T10:00:00Z" - `results.lastUpdatedBy` (string) User-profile id of the last user to update the table. Example: "8f2a5c91-4e6d-4b83-9a17-6c0d3e8b2f45" - `results.lastUpdatedEpoch` (integer) Unix timestamp (ms) of the last update. Example: 1773325200000 - `results.lastUpdatedDate` (string) ISO 8601 last-updated date. Example: "2026-03-12T14:20:00Z" - `results.inUse` (boolean) Derived from usedIn — true when either usedIn.metadataGroups or usedIn.metadataTemplates is non-empty. Example: true - `results.usedIn` (object) Where the table is currently referenced. Does not include an attributes category — attributes never reference a table; a table contains attributes as its columns, never the reverse. - `results.usedIn.metadataGroups` (array) Groups that reference this table. - `results.usedIn.metadataGroups.id` (string) Example: "52ce0235-02cc-46f6-8bdb-05238c76bf83" - `results.usedIn.metadataGroups.name` (string) Example: "Product Information" - `results.usedIn.metadataTemplates` (array) Templates that reference this table. ## Response 400 fields (application/json): - `status` (string) Example: "error" - `message` (string) ## Response 401 fields (application/json): - `status` (string) Example: "error" - `message` (string) ## Response 403 fields (application/json): - `status` (string) Example: "error" - `message` (string)