# SchemaStack Documentation > SchemaStack is a metadata platform: it stores schema definitions — views, columns, constraints, relationships — and connects to a PostgreSQL or MySQL database the customer owns. Customer records live in that database and are never copied out of it. Every page below is available as Markdown at the URL shown. The rendered HTML lives at the same path without the `.md`. For the entire documentation set in one request, fetch [llms-full.txt](https://docs.schemastack.io/llms-full.txt). ## Guide - [Getting Started](https://docs.schemastack.io/guide/getting-started.md): This guide walks you through your first steps with SchemaStack. - [What is SchemaStack?](https://docs.schemastack.io/guide/what-is-schemastack.md): SchemaStack is a data platform where **using the spreadsheet builds the database**: adding a column in the UI adds a real column, linking two tables creates a real foreign key, and every structural change is previewed… - [Key Concepts](https://docs.schemastack.io/guide/key-concepts.md): Understanding these core concepts will help you get the most out of SchemaStack. - [Data Ownership](https://docs.schemastack.io/guide/data-ownership.md): **Your Data, Always — No Vendor Lock-In.** - [File Path Templates](https://docs.schemastack.io/guide/file-path-templates.md): File path templates control how files are organized in your S3 bucket. A single template determines the S3 key structure — used for both saving and reading files. - [Formula Columns](https://docs.schemastack.io/guide/formula-columns.md): Formula columns are virtual, computed columns that use SQL expressions to derive values from other columns. They work like spreadsheet formulas -- the database evaluates the expression at query time and returns the… - [Connecting Your Database](https://docs.schemastack.io/guide/connecting-your-database.md): SchemaStack writes to a PostgreSQL or MySQL database that you own. You connect it once, either when creating a workspace or later from **Workspace → Database**. - [Database Compatibility](https://docs.schemastack.io/guide/database-compatibility.md): SchemaStack connects to your existing PostgreSQL or MySQL database and imports your schema automatically. This page documents which database features are fully supported, partially supported, or not yet supported. - [Schema Migrations](https://docs.schemastack.io/guide/schema-migrations.md): When you modify your database structure in SchemaStack — changing a column type, toggling nullable, adding or removing columns — the platform automatically generates and applies the necessary database migration. This… - [AI Integration (MCP)](https://docs.schemastack.io/guide/ai-integration.md): SchemaStack supports the [Model Context Protocol (MCP)](https://modelcontextprotocol.io) — an open standard that lets AI assistants like Claude interact directly with your workspace data. Instead of copy-pasting data or… - [Zapier Integration](https://docs.schemastack.io/guide/zapier-integration.md): SchemaStack integrates with [Zapier](https://zapier.com) to connect your data to 7,000+ apps — no code required. Send SchemaStack data to Mailchimp, Slack, Google Sheets, and more. - [Relationship inheritance & OWNED editing](https://docs.schemastack.io/guide/relationship-inheritance.md): When you build a view that pulls in fields from a related entity (e.g. a **Customer** view showing the customer's **Address.street**), SchemaStack treats those fields intelligently: ## Workspace API - [Workspace API](https://docs.schemastack.io/api/index.md): SchemaStack automatically generates a full REST API for every workspace. Once you've defined your entities and columns, you can immediately start reading and writing data through the API — no code generation or… - [Authentication](https://docs.schemastack.io/api/authentication.md): The Workspace API uses **API keys** for authentication. Each key is scoped to a single workspace and has a specific permission level. - [CRUD Operations](https://docs.schemastack.io/api/data.md): Every entity in your workspace gets a full set of CRUD endpoints. The entity name in the URL matches the entity name defined in your schema. - [Filtering](https://docs.schemastack.io/api/filtering.md): Filter records by field values using bracket notation in query parameters. Filters work with pagination, sorting, relationship expansion, and field selection. - [Expanding Relationships](https://docs.schemastack.io/api/relationships.md): When your entities have relationships (e.g., an Order belongs to a Customer), the API returns only the foreign key by default. Use the `expand` query parameter to include the full related object in the response. - [Field Selection](https://docs.schemastack.io/api/field-selection.md): Use the `fields` query parameter to control which fields are included in the response. This reduces payload size and lets you fetch only the data you need. - [Pagination & Sorting](https://docs.schemastack.io/api/pagination.md): List endpoints return paginated results by default. - [Validation](https://docs.schemastack.io/api/validation.md): SchemaStack validates request data against your entity's column constraints before persisting. When validation fails, the API returns a **422 Unprocessable Entity** response with per-field error details. - [Bulk Operations](https://docs.schemastack.io/api/bulk-operations.md): Perform batch create, update, or delete operations in a single request. Bulk endpoints process each item independently — individual failures don't prevent other items from succeeding. - [API Settings](https://docs.schemastack.io/api/settings.md): The Workspace API provides configuration at multiple levels to control behavior, security, and access. - [Errors](https://docs.schemastack.io/api/errors.md): When a request fails, the API returns a JSON error envelope with a machine-readable code and a human-readable message. - [External Identity Providers](https://docs.schemastack.io/api/external-identity-providers.md): External identity providers allow your end-users to authenticate with their own accounts (Auth0, Clerk, Firebase, etc.) and call the Workspace API directly — no SchemaStack account needed. ## Data Platform - [Data Platform Overview](https://docs.schemastack.io/app/overview.md): The data platform is where you work with your data day-to-day. It provides a spreadsheet-like interface with the structure and validation of a database. - [Views](https://docs.schemastack.io/app/views.md): A view is a configured perspective on your workspace data. Views let different team members see the same data in different ways — different columns, filters, and sorting for different workflows. - [Columns & Schema](https://docs.schemastack.io/app/columns.md): Columns define the structure of your data. Each column has a type, a display widget, and optional constraints. - [Computed Columns](https://docs.schemastack.io/app/computed-columns.md): Computed columns calculate values from other columns in the same row using SQL expressions. They behave like spreadsheet formulas — the value is computed at query time and never stored in the database. - [Relationships](https://docs.schemastack.io/app/relationships.md): Relationships connect rows in one table to rows in another. SchemaStack discovers relationships from your database schema and lets you add them as columns to your views. - [Constraints & Validation](https://docs.schemastack.io/app/constraints.md): Constraints enforce data quality at the schema level. When a user enters data that violates a constraint, they see a clear error message before the data is saved. - [Database Indexes](https://docs.schemastack.io/app/indexes.md): Indexes improve query performance by letting the database look up rows without scanning the entire table. SchemaStack lets you create, list, and delete indexes on any view through the Admin UI or the REST API. - [Filters & Sorting](https://docs.schemastack.io/app/filters.md): Filters and sorting let you focus on the data that matters. - [View Search](https://docs.schemastack.io/app/search.md): Find columns and cell values anywhere in your current view without leaving the page. - [Presets](https://docs.schemastack.io/app/presets.md): Presets save your current filter, sort, and column configuration so you can return to it later or share it with your team. - [Conditional Row Styles](https://docs.schemastack.io/app/row-styles.md): Style rows based on data conditions — like conditional formatting in spreadsheets. Rules apply a background color, a text color, bold, italic, and strikethrough to rows that match filter criteria. - [Real-Time Collaboration](https://docs.schemastack.io/app/collaboration.md): SchemaStack keeps your data in sync across all connected users using server-sent events (SSE). Multiple users can view and edit the same workspace simultaneously — changes appear instantly for everyone. - [CSV Import](https://docs.schemastack.io/app/csv-import.md): Import CSV files into any view with a visual field mapping dialog. Map CSV columns to view fields, preview records before importing, and save mapping configurations for repeated use. - [Bulk Operations](https://docs.schemastack.io/app/bulk-operations.md): Bulk operations let you act on multiple rows at once. - [Webhooks](https://docs.schemastack.io/app/webhooks.md): Outbound webhooks let you automatically send row data to external services when triggered from the Data Platform. Use webhooks to connect SchemaStack to tools like Zapier, Make, n8n, or any HTTP endpoint. - [Schema Advisor](https://docs.schemastack.io/app/schema-advisor.md): The Schema Advisor is a built-in AI assistant available in every workspace. It helps you understand, design, and improve your database schema through a conversational interface. - [Guest Access](https://docs.schemastack.io/app/guest-access.md): Guest access lets you share specific views with external users — clients, contractors, auditors, or the public — without requiring them to join your organization. ## Administration - [Administration](https://docs.schemastack.io/admin/overview.md): The Admin app is where you manage your organization, workspaces, team members, and account settings. - [Organizations](https://docs.schemastack.io/admin/organizations.md): An organization is the top-level container in SchemaStack. All workspaces, members, and data belong to an organization. - [Workspaces](https://docs.schemastack.io/admin/workspaces.md): A workspace is a container for your data views. Each workspace can optionally connect to a database and holds one or more views that define how your data is structured and displayed. - [Members & Roles](https://docs.schemastack.io/admin/members.md): SchemaStack uses a multi-level permission model: **organization roles** control what you can do across the organization, **workspace roles** control access within individual workspaces, and **view roles** provide… - [Billing & Subscriptions](https://docs.schemastack.io/admin/billing.md): Manage your organization's subscription, view invoices, and access the billing portal. - [Security Settings](https://docs.schemastack.io/admin/security.md): Manage your account security from **Settings → Security**. - [Personal Profile](https://docs.schemastack.io/admin/profile.md): Your personal profile stores your identity and preferences across all organizations you belong to. ## Reference - [Roadmap](https://docs.schemastack.io/roadmap.md): SchemaStack is under active development. Here's what's available today and what's coming next. - [Changelog](https://docs.schemastack.io/changelog.md): All notable changes to SchemaStack are documented here. - [Security](https://docs.schemastack.io/security.md): SchemaStack is built with security at its core. This page describes how we protect your account, your metadata, and your data. ## Interfaces - [MCP server](https://schemastack.io/mcp): Streamable HTTP, protocol 2025-03-26. Documented under [AI Integration](https://docs.schemastack.io/guide/ai-integration.md) - [Workspace API](https://data.schemastack.io/api/v1/{orgSlug}/{workspaceSlug}/{Entity}): REST CRUD generated per workspace - [Credential guide for agents](https://schemastack.io/.well-known/auth.md): Which credential each surface takes, and why none of them are self-service - [Marketing site index](https://schemastack.io/llms.txt): The same treatment for schemastack.io