Core Data API¶
Repo: savvydealer-adam/core-data-api · Path: C:/Users/adam/openclaw/core-data-api (not cloned to ~/) · Owner: Adam
Status: Active dev · % Done: 40 · Last commit: 2026-02-28
Deployed: not deployed (local FastAPI on port 8091)
What it is¶
FastAPI canonical entity storage with upsert/read endpoints and file-backed JSONL persistence. The internal data layer meant to replace Freshdesk/notes with API-native services.
Why it exists¶
SavvyDealer outgrew Freshdesk. Core Data API is the canonical bridge layer — all source adapters write normalized records here so downstream tools share one source of truth instead of re-scraping or re-querying vendor systems.
How it works¶
FastAPI + JSONL persistence + OpenAPI docs.
- POST /v1/{entity}/upsert and bulk_upsert
- GET /v1/{entity}/{id} and list endpoint
- Entities: client, store, person, role, process, process_step, issue_type, sop, decision, ticket, call, document, kpi
- Runs on localhost:8091
- Contract-first: OpenAPI docs at /docs
What's done¶
- v1 entity model locked in
- Upsert/read endpoints live
- Workflow transitions, SLA endpoints, reply-draft approval flow
- OpenAPI contract published
What's next¶
adapter-freshdeskto ingest and sync normalized records from Freshdesk- Freshdesk writeback (gated by
FRESHDESK_WRITEBACK_ENABLED) - Migrate file-backed JSONL to a real DB once contract stabilizes
Where the code lives¶
C:/Users/adam/openclaw/core-data-api/(needs clone — lives under openclaw/ tree)- Entry:
app/main.py, run withuvicorn app.main:app --port 8091 - Part of savvy-platform-suite umbrella
Integrations¶
- Fronted by unified-gateway (port 8090)
- Paired with Knowledge API (port 8092) for semantic retrieval
- Downstream: AI CRM, DealerPulse, Contracts, Ticket System can all read/write canonical entities
Don't rebuild this — extend it¶
If you need to store clients, stores, people, tickets, SOPs, or decisions in any internal tool, upsert into Core Data API instead of standing up a new DB.