The OpenAPI spec advertises every endpoint and filter the API understands. A subset of those is not fully functional today — either the backing table is not loaded from BigQuery, the backing column is alwaysDocumentation Index
Fetch the complete documentation index at: https://developers.beta.dealroom.co/llms.txt
Use this file to discover all available pages before exploring further.
NULL, or
the endpoint returns introspection data instead of the data its name
implies. This page lists every known case so you can plan around them.
Each item below also surfaces in the API Reference as a
warning blockquote at the top of the affected operation and as an
x-data-status extension on the operation. The
Filters & Sorting reference
flags affected filters with a ⚠ no data status column and an inline
<Warning> callout.Endpoints
Ecosystems and landscapes — unloaded
The ecosystems, landscapes, and landscape_entities tables are
user-owned. They are not populated by the BigQuery loader, so a
freshly deployed environment has no rows until a caller creates them
through the API.
Affected operations:
GET /api/ecosystemsGET /api/ecosystems/{id}POST /api/ecosystemsPATCH /api/ecosystems/{id}DELETE /api/ecosystems/{id}GET /api/ecosystems/{id}/landscapesPOST /api/ecosystems/{id}/landscapesPATCH /api/landscapes/{id}DELETE /api/landscapes/{id}PUT /api/landscapes/{id}/entities
GET /api/metrics — stub
Returns the server’s observability configuration (OpenTelemetry endpoint,
service name, instrumentation list, exported metric names). It is not
a metric data source. For actual measurements use:
- API usage / billing:
GET /api/usage/* - Infrastructure metrics: Prometheus / Grafana (oncall dashboards)
- Tracing: Sentry
Filters
Investor fund-field filters — data-incomplete
Five filters on the investor scope are registered and accept input, but
the underlying columns are loaded as CAST(NULL AS …) placeholders. Every
query that constrains on them returns zero rows.
| Filter key | Backing column |
|---|---|
total_investments_count | entities.total_investments_count |
fund_size | entities.fund_size_usd |
vintage_year | entities.vintage_year |
is_raising | entities.is_raising |
fund_status | entities.fund_status |
Partial / known gaps
In addition to the unimplemented filters above, ~56 company-scope filters from the legacy V2 API are tracked as “Truly Missing” — for examplerevenue_min/_max, last_funding_valuation_min/_max,
has_website_url, website_inactive, has_address, tech_stack,
founders_age, has_app_downloads_chart. They are not registered today
and any reference to them in older code or queries will return a
400 unknown_filter error.
Founder employer-relationship filters (companies_positions,
companies_income_streams, companies_client_focus,
companies_technologies) are similarly not wired up.
The Exits / IPOs surface is partial — only is_exited is queryable.
Exit details (exit_type, exit_amount, exit_year, exit_valuation)
are not exposed and there is no dedicated /api/exits endpoint.
How to detect a gap programmatically
If you’re generating an SDK from the OpenAPI spec, look for thex-data-status extension on operations and the data_status metadata
returned by GET /api/filters?scope={scope} for filters. Both fields
carry a kind (stub / data-incomplete / unloaded / partial) and
a human-readable reason.