Craft Easy¶
Craft your API the easy way.
Craft Easy is a production-ready framework ecosystem for building enterprise REST APIs with Python. Define a data model, register it as a resource, and you get a full REST API with authentication, access control, audit logging, multi-tenancy, and a schema-driven admin UI — out of the box.
The Ecosystem¶
Craft Easy is six packages that work together:
| Package | Purpose |
|---|---|
| craft-easy-api | REST API framework — FastAPI + Beanie + MongoDB. CRUD, auth, access control, cascade, audit, multi-tenancy. |
| craft-easy-admin | Universal admin app — React Native + Expo. Renders any Craft Easy API through its /admin/schema endpoint. Web, iOS, Android. |
| craft-easy-jobs | Stateless CLI job runner for batch jobs, scheduled tasks, and cloud-native deployments. |
| craft-easy-file-import | Standalone file-import service — SFTP sources, bank file parsers (BgMax, SEPA), reconciliation, poll-based runner. |
| craft-easy-template | Cookiecutter project templates for new API and frontend projects. |
| craft-easy-agentic | Autonomous task runner and developer dashboard — runs Claude AI agents against your backlog in parallel, with real-time monitoring and an embedded chat panel. |
What you get¶
- Zero-boilerplate CRUD — define a Beanie model, get the full REST API automatically.
- Filtering & pagination — MongoDB-style where clauses, cursor and offset pagination.
- Authentication — OTP (email/SMS), OAuth2 (Google, Microsoft, GitHub), TOTP/2FA, WebAuthn passkeys for users. OAuth 2.0 Client Credentials with
private_key_jwtand optional DPoP for M2M. JWT ES512. - Access control — capability-based with roles, scope filters, and field-level sensitivity.
- Multi-tenancy — every query is automatically scoped to the caller's tenant. Partner → tenant → sub-tenant hierarchy.
- Cascade operations — delete with deny/null/delete rules, update propagation across references.
- ETag concurrency — optimistic locking via
If-Matchheaders, 412 on conflict. - Audit logging — every mutation recorded with user, timestamp, before/after diff.
- Financial primitives — payments, invoicing, billing, claims, payment plans, revenue splits, settlements, double-entry bookkeeping.
- Integrations — notifications (email/SMS/push), webhooks (inbound with signature verification), event bus, BI export.
- Schema-driven admin — every resource is automatically exposed to the admin app. No UI code needed.
- Cloud-native — Azure Container Apps + Cosmos DB or GCP Cloud Run + MongoDB Atlas, via reusable Terraform modules.
Quick navigation¶
- New to Craft Easy? Start with Installation → Quick Start.
- Building your first project? See Project Templates for cookiecutter scaffolds.
- Running Claude agents against your backlog? See Craft Easy Agentic.
- Need reference? Jump to Settings, Models, or Endpoints.
How the documentation is organized¶
- Getting Started — install, scaffold, configure, run your first API.
- Craft Easy Agentic — autonomous task runner, web dashboard, embedded chat, file browser, runner lifecycle, framework hub, task specs, acceptance gates.
- Core — CRUD, filtering, pagination, hooks, cascade, ETag, errors, soft delete.
- Authentication — every auth method and how to combine them.
- Access Control — capabilities, roles, role assignments, scope filters, sensitive fields, access resolver.
- Multi-Tenancy — isolation, hierarchy, partners, agreements, tags.
- Financial — payments, invoicing, billing, claims, revenue splits, bookkeeping.
- Integrations — notifications, webhooks, events, BI export.
- File Import — both the API's built-in engine and the standalone package.
- Jobs — both the API's built-in framework and the standalone CLI.
- Admin App — schema protocol, widgets, hooks, multi-session, theming.
- Compliance — GDPR, audit logging.
- Infrastructure — middleware, rate limiting, metrics, logging, health, hosting.
- Reference — all settings, models, and endpoints.
Requirements¶
- Python 3.12
- MongoDB (local for dev, Cosmos DB / Atlas in production)
- Node.js 20+ (for the admin app)
License¶
MIT.