Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.powabase.ai/llms.txt

Use this file to discover all available pages before exploring further.

Two APIs, Two Purposes

The Project Service API (/api/) manages the ai schema — sources, knowledge bases, agents, and all other platform-managed data. You interact with this data through structured endpoints. PostgREST (/rest/v1/) gives you direct RESTful access to the public schema where your application tables live. Think of the Project Service as the managed AI layer and PostgREST as your application database API.

AI Schema (Managed)

The ai schema is fully managed by the platform. It contains tables for sources, page_texts, knowledge_bases, chunks (with pgvector embeddings), agents, tool_assignments, sessions, messages, runs, orchestrations, workflows, and more. You should never modify these tables directly — use the Project Service API instead.
Do not modify the ai schema directlyThe ai schema is managed by the platform and may change between versions. Direct modifications can break platform functionality. Always use the Project Service API endpoints.

Public Schema (Your Tables)

The public schema is yours. Create tables, define relationships, and add indexes as needed. PostgREST automatically exposes all public schema tables as REST endpoints. You can read, insert, update, and delete rows using standard HTTP methods with powerful filtering operators.

Row Level Security

PostgREST respects Row Level Security (RLS) policies on your tables. The service_role key bypasses RLS entirely — use it only server-side. The anon key respects RLS policies, so users only see rows they’re authorized to access. This is the recommended pattern for client-side applications.

PostgREST Operators

OperatorExampleDescription
eq?status=eq.activeEqual to
neq?status=neq.deletedNot equal to
gt?age=gt.18Greater than
gte?age=gte.18Greater than or equal
lt?price=lt.100Less than
lte?price=lte.100Less than or equal
like?name=like.SmithPattern match (case-sensitive)
ilike?name=ilike.smithPattern match (case-insensitive)
is?deleted_at=is.nullIS check (null, true, false)
in?id=in.(1,2,3)In a list of values

Next Steps

Database (PostgREST) Reference

Auto-generated CRUD docs for your public tables.

Auth & Storage Reference

Manage users and files via GoTrue and Storage APIs.

Architecture

Understand the database schema layout.