Docs
On this page
Last updated 2026-07-07 API version v1

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.

bash
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 disclosure object schema attached to every AI-output-carrying response, and the not-advice terms in info.description.

How do I generate a client from it?

Feed the spec URL to any OpenAPI generator. For example, with openapi-generator:

bash
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.