Skip to content

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_jwt and 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-Match headers, 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

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.