Files
PriceForge/bible/api.md
Mikhail Chusavitin 7d402b756d docs: add bible/ as single source of architectural truth
- Created bible/ with hierarchical documentation (architecture, pricelists,
  vendor mapping, background tasks, data rules, patterns, API, operations, history)
- CLAUDE.md reduced to one instruction: read and follow the bible
- README.md reduced to quick start only
- Removed MEMORY.md and csv_export.md (content consolidated into bible/)
- Fixed stale facts found during audit: weighted_avg (not weighted_median),
  correct API route names (/export-csv, /recalculate-all)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-20 14:16:47 +03:00

95 lines
2.9 KiB
Markdown

# API Endpoints
## Web Pages
| Method | URL | Handler | Description |
|--------|-----|---------|-------------|
| GET | `/` | Index | Redirect → `/admin/pricing` |
| GET | `/admin/pricing` | AdminPricing | Pricing admin (Estimate / Warehouse / Alerts tabs) |
| GET | `/lot` | Lot | LOT management (LOT / Mappings tabs) |
| GET | `/pricelists` | Pricelists | Pricelist listing |
| GET | `/pricelists/:id` | PricelistDetail | Single pricelist view |
| GET | `/vendor-mappings` | VendorMappings | Vendor mapping UI |
| GET | `/partials/components` | ComponentsPartial | Components partial |
| GET/POST | `/setup` | Setup | DB connection setup |
---
## System
| Method | URL | Description |
|--------|-----|-------------|
| GET | `/health` | Health check |
| GET | `/api/ping` | Ping |
| GET | `/api/db-status` | DB connection status (optional counts) |
| GET | `/api/current-user` | Current DB user info |
| POST | `/api/restart` | Graceful process restart |
| GET/POST | `/api/connection-settings` | DB config UI |
---
## Components
| Method | URL | Description |
|--------|-----|-------------|
| GET | `/api/components` | Component list with search/filter |
| GET | `/api/components/:lot_name` | Component details |
| GET | `/api/categories` | Category list |
---
## Pricelists
| Method | URL | Description |
|--------|-----|-------------|
| GET | `/api/pricelists` | List all pricelists |
| POST | `/api/pricelists` | Create pricelist (returns task_id) |
| GET | `/api/pricelists/:id` | Pricelist details |
| DELETE | `/api/pricelists/:id` | Delete pricelist |
| GET | `/api/pricelists/:id/items` | Pricelist items |
| GET | `/api/pricelists/:id/export-csv` | CSV export (streaming) |
| GET | `/api/pricelists/latest` | Latest pricelist per source |
---
## Pricing Admin (`/api/admin/pricing/*`)
| Method | URL | Description |
|--------|-----|-------------|
| GET | `/api/admin/pricing/stats` | Statistics |
| GET | `/api/admin/pricing/components` | Components with pricing |
| POST | `/api/admin/pricing/recalculate-all` | Recalculate all prices (returns task_id) |
| GET | `/api/admin/pricing/lots` | LOT list |
| GET/POST | `/api/admin/pricing/stock-mappings` | Stock partnumber mappings |
| GET/POST | `/api/admin/pricing/vendor-mappings` | Vendor partnumber mappings |
| GET | `/api/admin/pricing/alerts` | Alerts list |
---
## Tasks (polling)
| Method | URL | Description |
|--------|-----|-------------|
| GET | `/api/tasks/:id` | Task status and result |
---
## Sync (diagnostics)
| Method | URL | Description |
|--------|-----|-------------|
| GET | `/api/sync/status` | Sync status |
| GET | `/api/sync/info` | Sync info |
| POST | `/api/sync/components` | Pull components |
| POST | `/api/sync/pricelists` | Pull pricelists |
---
## Setup
| Method | URL | Description |
|--------|-----|-------------|
| GET/POST | `/setup` | DB setup page |
| POST | `/setup/test` | Test DB connection |
| GET | `/setup/status` | Setup status |