ApiTables Documentation

Backend technical reference for the storageitsolutions/api-tables Laravel package

ApiTables is a server-driven data table package for Laravel. You define table classes (columns, filters, sorting, row actions, bulk actions), register them in config, and the package exposes REST endpoints that return table metadata, paginated data, and action results for web and mobile frontends.

This section covers the backend layer — the storageitsolutions/api-tables Composer package. For the Next.js Frontend module, switch to Frontend documentation using the sidebar layer switcher.

Source (backend): src/ in API-Tables-Lib

About this documentation

Backend reference written by Mohamed Hasan (@mhmdhasan) while at Storage IT Solutions. ApiTables is a broader team effort; this site documents the Laravel package and control-table APIs — not the frontend React layer.

Start here by experience level

LevelPathTime
New hire / juniorKey conceptsGetting startedGlossary~1 hour
Mid-levelArchitectureEndpointsFilters + Row actions~2 hours
SeniorConfigurationEmail and exportsPackage mapTroubleshootingAs needed

First week on the team?

Read Key concepts first — it explains why ApiTables works the way it does. Then follow Getting started to build a table end-to-end. Keep Troubleshooting bookmarked.

What you will find here

NeedStart here
Understand the big pictureKey concepts
Install the packageGetting started
Register tables & guardsConfiguration
HTTP endpointsEndpoints overview
Structure JSON fieldsTable structure
Something is brokenTroubleshooting
Full file listPackage map
In / out of scopeDocumentation coverage
Errors & responsesErrors and feedback

Documentation map

Mental model

In one sentence: you describe the table in PHP; the client renders whatever you send.

1. Register

Config

Map table name → model + table class in api-tables-config.php.

2. Define

PHP

Extend TableAbstract — columns, filters, actions, Eloquent builder.

3. Structure

GET

load-table returns columns, filters, and action definitions.

4. Query

POST

query-table with filters, sorts, and pagination.

On this page