Welcome to Foir
Foir is a headless content and data platform. Define your data models, manage content through the admin dashboard, and deliver it to your applications via a GraphQL API. Personalize content for different audiences, automate workflows with operations and hooks, and extend the platform with the config system and editor SDK.
Quick Links
- Getting Started — Set up your first project
- Features — Models, records, variants, operations, and more
- Config System — Define your project as code with
foir.config.ts - Editor SDK — Build custom editor experiences
- API Reference — GraphQL API for querying and mutating data
- CLI Reference — Manage your project from the terminal
What Can You Do?
Define Any Data Structure
Build the data types you need with Models. Use field types like text, images, rich text, references, and more. Create reusable components with inline schemas.
Store and Query Data
Use Records for any kind of data — content pages, blog posts, form submissions, bookings, configurations, product catalogs. Full CRUD access via the GraphQL API and CLI.
Personalize Content
Show different content to different visitors with Variants. Target by device, market, language, or customer segments using targeting rules.
Automate Workflows
Register HTTP endpoints as Operations, trigger them with Lifecycle Hooks when data changes, or run them on a Schedule.
Extend with Code
Define your models, operations, hooks, and editor placements in a foir.config.ts file and push them to the platform with a single command. Build custom editor UIs with the Editor SDK.
Install Apps
Plug in third-party or first-party apps — Shopify, Stripe, redirects, translation, image transforms — by manifest URL. Apps contribute operations, hooks, UI placements, and credentials with one install action; ship one yourself with the Building an App guide.
Add AI-Powered Search
Find content by meaning with semantic search. Foir generates vector embeddings for your content, enabling natural language search across your project.
Key Features
| Feature | Description |
|---|---|
| Models & Records | Flexible data modeling with typed fields |
| Version History | Track changes and roll back when needed |
| Publishing Workflow | Draft, preview, schedule, and publish |
| Variants | Serve personalized content based on context |
| Media Library | Upload and transform images, video, and files |
| GraphQL API | Query exactly the data you need |
| Config System | Define your project as code |
| Editor SDK | Build custom editor iframes |
| Operations & Hooks | Automate with HTTP endpoints and event triggers (sync + async-callback modes) |
| Apps | Install pluggable units by manifest URL — credentials, operations, placements |
| AI & Search | Semantic search and vector embeddings |
| Localization | Multi-language support with fallback chains |
| Customer Auth | Built-in authentication for your end users |
Getting Started
- Create an API Key — Connect your application to Foir
- Install the CLI — Get the platform CLI with
npm install -g @eide/foir-cli - Fetch Content — Query the GraphQL API from your frontend
- Define as Code — Set up
foir.config.tsfor your project