Feature reference

What Daptin
provides.

Define tables in YAML or JSON. Daptin creates API routes for their records and applies the same user, group, and row permissions to actions, files, events, and integrations.

9 feature groups1 permission system1 Go binary
01

FOUNDATION

Tables & schema

Define tables, columns, relationships, validation, and indexes in YAML or JSON.

Schema files

A YAML or JSON schema can define tables, columns, indexes, relationships, validation rules, default values, and table settings.

Fields added by Daptin

Each record receives a public reference_id, creation and update times, a version number, and permission bits.

Field types

Use fields for text, numbers, dates, JSON, locations, ratings, measurements, files, images, audio, and video.

Database choice

Use SQLite locally or connect Daptin to MySQL, MariaDB, or PostgreSQL.

Relations and joins

Model belongs-to, has-one, has-many, and many-to-many relationships with generated relationship APIs.

Import, export & audit

Import CSV, XLSX, JSON, or YAML; export records; generate test records; and enable multilingual fields, auditing, status tracking, or metering.

Explore schema definition
02

HTTP APIS

APIs & descriptions

Daptin creates JSON:API routes, optional GraphQL, aggregation queries, an OpenAPI document, and routes that list the configured tables and fields.

JSON:API resources

Create, read, update, and delete records and relationships. Requests support filtering, sorting, pagination, includes, and sparse fields; responses omit records the user cannot read.

Optional GraphQL

Enable GraphQL queries and mutations for configured tables, relationships, aggregates, and actions.

Aggregation API

Group, join, filter, sample, order, and calculate count, sum, average, minimum, maximum, first, or last values.

OpenAPI output

Download an OpenAPI description of the available tables, fields, actions, integrations, authentication requirements, and request examples.

Table metadata

Metadata routes list the configured tables, fields, relationships, and actions so clients can build requests from the running server.

Plain HTTP clients

Call the API from web, mobile, server, automation, or agent clients. The JavaScript and Go clients are optional.

Explore the APIs
03

ACCESS CONTROL

Identity & permissions

Users, groups, ownership, and permission bits control access to records, relationships, actions, topics, and integrations.

Users and groups

Create users and groups, assign memberships, set record owners, and use groups for teams or tenant accounts.

Granular permissions

Set read, create, update, delete, refer, execute, and peek permissions for a table, record, relationship, or action.

Authentication flows

Support password signup and signin, JWT sessions, reset flows, and TOTP-based two-factor authentication.

OAuth client

Redirect users to an external OAuth provider, handle the callback, and save the resulting token in an encrypted credential record.

OAuth/OIDC provider

Issue, refresh, revoke, and introspect tokens through authorization, JWKS, userinfo, and discovery endpoints.

Multi-tenant patterns

Combine ownership, usergroups, relations, and row permissions to isolate tenant workspaces on one Daptin deployment.

Read the permissions guide
04

BACKEND LOGIC

Actions, schedules & state

Define server-side actions, call them through the API, or run them on a cron schedule.

Action definitions

Define an action’s input fields, validation, conditions, ordered steps, response, and whether it requires an existing record.

Action steps

Create or change records, call registered Go functions, render content, download files, set headers or cookies, and run further steps.

Scheduled tasks

Call the same actions on cron schedules under a selected user identity and permission context.

Status changes

List the status changes a record may make, reject changes that are not listed, and keep a version and audit history.

Data exchange

Before or after an action, map fields and copy records to or from a configured external source.

Included actions

Daptin includes actions for sign-in, OAuth, file storage, mail, sites, integrations, certificates, publishing, imports, exports, and administration.

Current scope: state tracking records allowed transitions. Hierarchical states, parallel branches, and implicit entry or exit actions are outside its scope.

Build with actions
05

CONTENT

Files, storage & sites

Attach files to records, store them locally or through rclone, and serve websites by host name or path.

Asset columns

Attach images, video, audio, documents, or other blobs to records with dedicated retrieval and upload routes.

Storage locations

Save files on the local filesystem or connect an rclone-supported service with encrypted credentials.

File uploads

Upload through Daptin, use multipart uploads, or obtain a provider URL for direct upload when the storage service supports it.

HTTP caching

Serve files with ETags, cache headers, gzip, in-memory caching, and negative caching for missing files.

Subsites

Route sites by host or path, sync content from storage, apply basic auth, and serve multiple frontends from Daptin.

Go templates

Render records into hosted HTML pages with Go templates.

Explore storage and assets
06

CONNECTIONS

Realtime & protocols

Enable WebSockets, feeds, YJS, SMTP, IMAP, FTP, or WebDAV-style routes from the Daptin process.

Record events

Publish create, update, and delete events through a worker pool. Multiple instances can exchange the events through Olric PubSub.

WebSockets

Subscribe to table or topic updates through /live. Daptin checks that the user may read the requested records or topic.

YJS collaboration

Enable YJS endpoints on selected columns for collaborative document editing.

Feeds and streams

Expose selected data through stream definitions and RSS, Atom, or JSON-style feed routes.

Mail and files

Enable database-backed SMTP, IMAP, FTP, and FTPS services alongside the HTTP application server.

WebDAV-style routes

Enable CalDAV/CardDAV routes for basic file storage and discovery.

Current scope: CalDAV/CardDAV routes provide basic WebDAV-style file storage. Full calendar and contact protocol compatibility is outside their current scope.

Explore events and protocols
07

EXTERNAL APIS

Integrations & LLM routing

Import operations from OpenAPI, store the required OAuth or API credentials, and call those operations through Daptin. OpenAI-compatible routes send model requests to the configured provider.

OpenAPI imports

Import operations from an OpenAPI v2 or v3 document. Daptin creates routes to list and call the imported operations.

Supported API types

Imported integrations can call REST, GraphQL, short-lived WebSocket, and unary gRPC endpoints.

Stored credentials

Daptin loads OAuth tokens or encrypted credentials when it calls an integration. Callers submit operation fields and do not receive the stored secret.

OpenAI-compatible API

Serve chat completions, streaming chat, completions, embeddings, models, and tool-call-compatible payloads under /v1.

Provider routing

Map model names to configured providers and credentials. Clients send requests to Daptin’s /v1 routes.

OpenAPI listing

Daptin adds installed provider operations to its OpenAPI document.

Explore integrations
08

OPERATIONS

Metering, caching & health

Configure usage plans and quotas, inspect health and statistics, and coordinate caches and events across instances.

Plans and quotas

Create API plans, assign users to them, and set prices, request limits, compute limits, overage rules, and quotas for each billing period.

Usage metering

Record calls that read or change records, run actions, or use an LLM. LLM records include input and output token counts. An action can debit credits after the call.

Rate limits

Count calls with Olric across instances and reject a call when its rate or quota limit has been reached.

Cache and PubSub

Use embedded Olric, LRU or file caches, event queues, and distributed PubSub across Daptin instances.

Health and diagnostics

Check liveness and readiness endpoints and inspect server statistics, configuration, logs, profiles, table metadata, and optional audit records.

Startup and shutdown

Daptin reports listener and TLS errors during startup. On shutdown, it drains HTTP and protocol sessions, flushes events, and then closes the database.

Plan a production deployment
09

CLIENTS AND TOOLS

CLI, clients & examples

Call Daptin with HTTP, its CLI, the JavaScript client, or the Go client. Schema samples and demo repositories provide working examples.

Command-line client

Switch server contexts, sign in, list tables, inspect action inputs, read related records, run actions, and manage integrations, OAuth, storage, and files.

JavaScript & TypeScript

Use typed entities, JSON:API, action calls, authentication, asset URLs, and direct or multipart storage uploads.

Go client

Read and change Daptin records and call actions from a Go application.

Distribution choices

Install the CLI through Homebrew, Scoop, Go, Linux packages, or downloadable binaries; run the server through Docker or a release binary.

Schema samples

Start with YAML or JSON table definitions for blogs, FAQs, stores, payments, construction projects, transactions, styles, and todos.

Runnable demos

Example repositories test the OpenAI-compatible API, OAuth/OIDC, per-user integration credentials, metering, quotas, and credit accounting.

Browse clients and examples
REQUEST PROCESSING

See how Daptin
handles a request.