Extract Company Data
POST /global-context/extract-company-data
Pull company facts out of scraped intelligence data.
SPENDS CREDITS when enrich is true (the default): the route is
credit-gated before the model call and answers 402 when the balance is
short. Send enrich=false for the scrape-derived fields alone, which costs
nothing extra.
The app takes an untyped body here; this contract types it, so a missing
website_url is a 422 naming the field rather than a 400 describing it.
Authorizations
Parameters
Header Parameters
Request Body required
The typed form of the untyped dict body extract-company-data takes.
The app reads exactly two keys off that dict and 400s when website_url is
missing. Typed here so the same mistake is a parse-layer 422 naming the
field, and so the caller can see that enrich exists at all - it is
invisible in an untyped body.
NOT a mirrored model: there is no app model to mirror. The proxy sends a plain dict, exactly as the browser does.
object
Enrich the extracted fields through Apollo. SPENDS CREDITS - the call is credit-gated and answers 402 when the balance is short.
Company website to extract from. Intelligence data for it must already exist.
Responses
200
Successful Response
object
An open envelope for one settings block, document or brand artefact.
OPEN on purpose. These surfaces are configuration and generated content, and both grow: a new toggle on a settings block or a new field on a generated document must reach a caller on the day it ships, not on the day somebody remembers to widen a mirror. A closed response model here would silently DROP the new key, which reads to the caller as “the product does not have that setting”.
The request side is the opposite and is mirrored exactly - see the module docstring for why the asymmetry is deliberate.
object
422
Validation Error