HEALTH & DIAGNOSTICS
GET /api/health
200 OK
Returns service status, local Azure CLI authentication status, SQLite database timestamps, and active pricing snapshots.
Sample Response (200 OK)
{ "ok": true, "version": "v0.1.0", "status": "ok", "azure_cli": { "available": true, "authenticated": true } }
PRICING SCOPES
GET /api/pricing/scopes
200 OK
Lists all configured contract pricing scopes (e.g. EA Enrollment ea:65220517) with currency, provider type, and active status.
Sample Response (200 OK)
{ "ok": true, "scopes": [ { "scope_id": "ea:65220517", "currency": "BRL", "active": true } ] }
PRICING SCOPES
GET /api/pricing/scopes/{scope}/sync
200 OK
Returns current synchronization state, row count, and active snapshot metadata for a specific pricing scope.
Sample Response (200 OK)
{ "ok": true, "scope_id": "ea:65220517", "snapshot": { "row_count": 107065, "status": "completed" } }
PRODUCT CATALOG
GET /api/catalog/products
200 OK
Lists product definitions supported by the pricing engine (virtual_machine, managed_disk, sql_database).
Sample Response (200 OK)
{ "ok": true, "products": [ { "id": "virtual_machine", "label": "Virtual Machine" } ] }
PRODUCT CATALOG
GET /api/catalog/products/{id}/options/{field}
200 OK
Returns dynamic options for dropdown fields. For VM shapes (field=sku), returns complete shapes across all generations (v1 to v7) with vCPUs, RAM and EA availability.
Sample Response (200 OK)
{ "ok": true, "options": [ { "value": "Standard_D4s_v5", "label": "Standard_D4s_v5 (4 vCPU · 16 GB RAM)" } ] }
ESTIMATES & CALCULATIONS
POST /api/estimate
200 OK
Calculates a composite architecture estimate comparing Retail vs negotiated EA Contract across PAYG, 1Y RI, 3Y RI, and Savings Plans.
Sample Response (200 OK)
{ "ok": true, "currency": "BRL", "totals": { "retail": { "payg_monthly": 2450.80 }, "corporate": { "payg_monthly": 1820.50 } } }
ENTERPRISE AGREEMENT (EA)
GET /api/ea/meters
200 OK
Search and filter corporate negotiated price sheet meters by text query, category, and meter location.
Sample Response (200 OK)
{ "ok": true, "count": 4, "rows": [ { "meterId": "6c6fb48f-4ee0-555e-a5bc-4a4f0b2fe489", "meterName": "D4s v5", "unitPrice": 175.66 } ] }