Matic Platform API

A powerful, flexible API for building Airtable-like applications with forms, data tables, and real-time collaboration. Built with Go, Gin framework, and PostgreSQL.

API Online
🔐 Authentication
All endpoints require authentication via Authorization: Bearer <token> header. User ID can be passed as user_id query parameter where needed.
📁

Workspaces

GET /api/v1/workspaces
List all workspaces for authenticated user
POST /api/v1/workspaces
Create a new workspace
GET /api/v1/workspaces/:id
Get workspace details by ID
PATCH /api/v1/workspaces/:id
Update workspace name, description, or settings
DELETE /api/v1/workspaces/:id
Delete workspace and all associated data
📊

Data Tables

GET /api/v1/tables?workspace_id={id}
List all tables in workspace
POST /api/v1/tables
Create a new data table with columns
GET /api/v1/tables/:id
Get table with columns and metadata
PATCH /api/v1/tables/:id
Update table properties
DELETE /api/v1/tables/:id
Delete table and all rows
GET /api/v1/tables/:id/rows
Get all rows in table, ordered by position
POST /api/v1/tables/:id/rows
Create a new row with data (user_id optional)
PATCH /api/v1/tables/:id/rows/:row_id
Update row data or position
DELETE /api/v1/tables/:id/rows/:row_id
Delete a specific row
GET /api/v1/tables/:id/search
Search within table rows
🔗
GET /api/v1/table-links?table_id={id}
List all table relationships for a table
POST /api/v1/table-links
Create a relationship between two tables (one_to_many or many_to_many)
GET /api/v1/table-links/:id
Get table link details
PATCH /api/v1/table-links/:id
Update table link configuration
DELETE /api/v1/table-links/:id
Delete table relationship
GET /api/v1/row-links/rows/:row_id/linked?link_id={id}
Get all rows linked to a specific row
POST /api/v1/row-links
Link two rows together
PATCH /api/v1/row-links/:id
Update row link data
DELETE /api/v1/row-links/:id
Unlink two rows
📝

Forms

GET /api/v1/forms?workspace_id={id}
List all forms in workspace
POST /api/v1/forms
Create a new form with fields
GET /api/v1/forms/:id
Get form details with fields
PATCH /api/v1/forms/:id
Update form properties
DELETE /api/v1/forms/:id
Delete form and submissions
POST /api/v1/forms/:id/submit
Submit form data
GET /api/v1/forms/:id/submissions
Get all form submissions
GET /api/v1/forms/:id/search
Search within form submissions
🎯

Activities Hubs

GET /api/v1/activities-hubs?workspace_id={id}
List all activities hubs in workspace
POST /api/v1/activities-hubs
Create a new activities hub
GET /api/v1/activities-hubs/:hub_id
Get activities hub with tabs
GET /api/v1/activities-hubs/by-slug/:slug
Get activities hub by slug (requires workspace_id)
PATCH /api/v1/activities-hubs/:hub_id
Update activities hub
DELETE /api/v1/activities-hubs/:hub_id
Delete activities hub
GET /api/v1/activities-hubs/:hub_id/tabs
List all tabs in hub
POST /api/v1/activities-hubs/:hub_id/tabs
Create a new tab
PATCH /api/v1/activities-hubs/:hub_id/tabs/:tab_id
Update tab
DELETE /api/v1/activities-hubs/:hub_id/tabs/:tab_id
Delete tab
POST /api/v1/activities-hubs/:hub_id/tabs/reorder
Reorder tabs by position
🔍
GET /api/v1/search?q={query}&workspace_id={id}
Search across all workspace entities
GET /api/v1/search/suggestions?q={query}&workspace_id={id}
Get search suggestions
GET /api/v1/search/recent?workspace_id={id}
Get recent searches
POST /api/v1/search/history
Save search to history
GET /api/v1/search/popular?workspace_id={id}
Get popular searches
DELETE /api/v1/search/history/:workspace_id
Clear search history