List Tables
List root tables visible to the authenticated user.
Supports filtering by table kind, ownership scope, free-text search, and tags. Results can be sorted by creation time, name, or row count.
Overview
This endpoint returns the root tables visible to the authenticated user. You can filter by table kind, ownership scope, free-text search, and tags. Results can be sorted by creation time, name, or row count.Example request
Key parameters
kind(optional): filter by table kind (generic,company,people).scope(optional): filter by ownership.personalreturns the caller’s own tables.organizationreturns all tables visible within the caller’s organization, including the caller’s own tables.search(optional): case-insensitive search across table names and descriptions.tags(optional): repeat this parameter to match tables with any of the selected tags.sort(optional): one of-created_at,created_at,name,-name,num_rows,-num_rows.offset(optional): number of matching tables to skip before returning results.limit(optional): maximum number of tables to return. Defaults to50; maximum is100.
Success signal
A successful response returns an array of table objects. Each item includes summary fields such asid, created_at, updated_at, name, description, tags, kind, settings, scope, owner, and num_rows.
The response also includes pagination headers:
x-extruct-pagination-totalx-extruct-pagination-total-pagesx-extruct-pagination-limitx-extruct-pagination-offsetx-extruct-pagination-page
Common errors
401 Unauthorized
Check that your header is Authorization: Bearer ${EXTRUCT_API_TOKEN}.
400 Bad Request
Most often caused by limit values above 100.
422 Unprocessable Entity
Most often caused by unsupported query values for kind, scope, or sort.
Related endpoints
Related guides
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Filter by table kind
generic, company, people Filter by ownership: personal returns the caller's own tables; organization returns all tables visible within the caller's organization, including the caller's own tables.
personal, organization Case-insensitive search across table names and descriptions.
Repeat this parameter to match tables with any of the provided tags.
Sort order for the returned tables.
-created_at, created_at, name, -name, num_rows, -num_rows Number of matching tables to skip.
x >= 0Maximum number of tables to return. Defaults to 50. Maximum 100.
1 <= x <= 100Response
Successful Response
generic, company, people Ownership scope for filtering resources
personal, organization