OpenAPI Specification
The InvesTeam API is self-documenting. The aggregate public OpenAPI document — the one spec external clients and the MCP server consume — is served directly and needs no auth to read. Point your tooling at it to generate a typed client, or open the interactive Swagger UI to explore every endpoint.
Where is the InvesTeam OpenAPI spec?¶
The spec is served at https://investeam.io/api/v1/openapi.json, and an interactive Swagger UI over it lives at https://investeam.io/api/docs. Both are public. The document is deliberately scoped to the investment pipeline — the create → poll → convene → poll → findings surface plus the auth bootstrap — so it can never describe an endpoint that is not publicly reachable.
curl -sS https://investeam.io/api/v1/openapi.json -o investeam-openapi.json
What does the spec include?¶
The document carries the full public contract, not just the paths:
- Every pipeline endpoint, with request and response models.
- The dual-mode Bearer security scheme — a Firebase ID token or a
programmatic
hfk_key. - The shared error envelope (
{error:{code,message,request_id,retryable}}) and the real status codes (400,401,403,404,409,429,502). - The
disclosureobject schema attached to every AI-output-carrying response, and the not-advice terms ininfo.description.
How do I generate a client from it?¶
Feed the spec URL to any OpenAPI generator. For example, with
openapi-generator:
openapi-generator-cli generate \
-i https://investeam.io/api/v1/openapi.json \
-g python \
-o ./investeam-client
Swap -g python for typescript-axios, go, or any supported generator. You
can also import the spec URL directly into Postman, Insomnia, or your IDE's HTTP
tooling to get request scaffolding for every endpoint.
Because the spec is generated from the BFF's own
routes, it always reflects the live surface. Treat it — not this documentation —
as the machine-readable source of truth for exact field shapes, and remember the
status and transcript kind enums are
open.
Where next?¶
Learn the request pattern in the async submit → poll model, run it end to end in the Pipeline Walkthrough, or read the per-resource references starting with Briefs.