Skip to main content

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

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 always 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/ecosystems
  • GET /api/ecosystems/{id}
  • POST /api/ecosystems
  • PATCH /api/ecosystems/{id}
  • DELETE /api/ecosystems/{id}
  • GET /api/ecosystems/{id}/landscapes
  • POST /api/ecosystems/{id}/landscapes
  • PATCH /api/landscapes/{id}
  • DELETE /api/landscapes/{id}
  • PUT /api/landscapes/{id}/entities
Treat ecosystems and landscapes as user-owned scratch space, not a curated dataset. Data written through the API does not flow back to BigQuery, will not survive a full reseed, and is not shared across environments.

GET /api/metricsstub

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 keyBacking column
total_investments_countentities.total_investments_count
fund_sizeentities.fund_size_usd
vintage_yearentities.vintage_year
is_raisingentities.is_raising
fund_statusentities.fund_status
Treat these as unavailable until a BigQuery source is wired up. The Filters & Sorting reference flags them with ⚠ no data in the Status column.

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 example revenue_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 the x-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.