API
The product API is bearer-authenticated JSON over HTTPS; everything the web app does goes through it, so anything you see in the UI is automatable.
Highlights:
POST /projects·POST /projects/{id}/documents— create and feed bidsPOST /projects/{id}/extract-all-requirements-async+ status pollingGET /usage— credits, per-feature breakdown, legible unitsGET /documents/{id}/original— your uploaded originals, back out- Import endpoints for band rates and BOQ lines (xlsx, dry-run supported)
Refusals are machine-readable: credit and licence refusals return HTTP 402
with a stable code (hard_cap, tier_not_allowed, subscription_inactive)
alongside the human-readable reason, and successful calls that cross a spend
line say so in X-Quota-* response headers.
A full OpenAPI reference is generated from the running service and will be published here.