CB Insights · OpenAPI Overlay 1.0.0

API Evangelist enrichment overlay — CB Insights API v2

31 actions 31 updates documentation extends ../openapi/_original/cb-insights-api-v2-openapi.json
Generated by API Evangelist Written by API Evangelist tooling for CB Insights's API. It is a proposal applied on top of the contract, not a document CB Insights publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

operationIdx-apievangelist-sourcex-apievangelist-harvestedx-apievangelist-notex-apievangelist-undeclared-tagsx-apievangelist-meteringx-apievangelist-mcp-toolx-apievangelist-undeclared-statuses

Targets 31 · first 16 shown; the file carries all of them

$.info
$
$.paths['/v2/authorize'].post
$.paths['/v2/organizations'].post
$.paths['/v2/firmographics'].post
$.paths['/v2/businessrelationships'].post
$.paths['/v2/organizations/{orgId}/businessrelationships'].post
$.paths['/v2/financialtransactions/fundings'].post
$.paths['/v2/financialtransactions/investments'].post
$.paths['/v2/financialtransactions/portfolioexits'].post
$.paths['/v2/organizations/{orgId}/financialtransactions/fundings'].post
$.paths['/v2/organizations/{orgId}/financialtransactions/investments'].post
$.paths['/v2/organizations/{orgId}/financialtransactions/portfolioexits'].post
$.paths['/v2/managementandboard'].post
$.paths['/v2/organizations/{orgId}/managementandboard'].post
$.paths['/v2/outlook'].post

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enrichment overlay — CB Insights API v2
  version: 1.0.0
extends: ../openapi/_original/cb-insights-api-v2-openapi.json
x-provenance:
  generated: '2026-08-09'
  method: generated
  source: >-
    Enhancements authored by API Evangelist over the verbatim Swagger 2.0 contract harvested from
    https://api-docs.cbinsights.com/v2/cbinsights_api_v2.json on 2026-08-09. The harvested spec is
    never mutated; everything below is our addition, not a CB Insights claim.
  note: >-
    The single largest defect in the published contract is that NOT ONE of its 28 operations
    declares an operationId. Without one there is no stable handle to bind an MCP tool, an Arazzo
    step, an SDK method, or a crosswalk row to — which is exactly why
    mcp/cb-insights-tool-crosswalk.yml has to address operations by METHOD+PATH. The actions below
    propose an operationId for every operation, derived mechanically from the tag and the path.
actions:
- target: $.info
  description: Record provenance and the harvest source on the document root.
  update:
    x-apievangelist-source: https://api-docs.cbinsights.com/v2/cbinsights_api_v2.json
    x-apievangelist-harvested: '2026-08-09'
    x-apievangelist-note: >-
      Swagger 2.0. `basePath` carries a full absolute URL (https://api.cbinsights.com), which is not
      valid Swagger 2.0 — basePath must be a path and the host belongs in `host`. Tools that follow
      the spec strictly will resolve request URLs incorrectly.
- target: $
  description: Declare the tag that is used by an operation but missing from the top-level tags list.
  update:
    x-apievangelist-undeclared-tags:
    - StrategyMap
- target: $.paths['/v2/authorize'].post
  update: {operationId: authorizeClient}
- target: $.paths['/v2/organizations'].post
  update:
    operationId: listOrganizations
    x-apievangelist-metering: free — this operation never charges credits
- target: $.paths['/v2/firmographics'].post
  update: {operationId: listFirmographics}
- target: $.paths['/v2/businessrelationships'].post
  update: {operationId: listBusinessRelationships}
- target: $.paths['/v2/organizations/{orgId}/businessrelationships'].post
  update: {operationId: getOrganizationBusinessRelationships}
- target: $.paths['/v2/financialtransactions/fundings'].post
  update: {operationId: listFundings}
- target: $.paths['/v2/financialtransactions/investments'].post
  update: {operationId: listInvestments}
- target: $.paths['/v2/financialtransactions/portfolioexits'].post
  update: {operationId: listPortfolioExits}
- target: $.paths['/v2/organizations/{orgId}/financialtransactions/fundings'].post
  update: {operationId: getOrganizationFundings}
- target: $.paths['/v2/organizations/{orgId}/financialtransactions/investments'].post
  update: {operationId: getOrganizationInvestments}
- target: $.paths['/v2/organizations/{orgId}/financialtransactions/portfolioexits'].post
  update: {operationId: getOrganizationPortfolioExits}
- target: $.paths['/v2/managementandboard'].post
  update: {operationId: listManagementAndBoard}
- target: $.paths['/v2/organizations/{orgId}/managementandboard'].post
  update: {operationId: getOrganizationManagementAndBoard}
- target: $.paths['/v2/outlook'].post
  update: {operationId: listOutlook}
- target: $.paths['/v2/organizations/{orgId}/outlook'].post
  update: {operationId: getOrganizationOutlook}
- target: $.paths['/v2/organizations/{orgId}/mosaichistory'].post
  update: {operationId: getOrganizationMosaicHistory}
- target: $.paths['/v2/organizations/{orgId}/commercialmaturityhistory'].post
  update: {operationId: getOrganizationCommercialMaturityHistory}
- target: $.paths['/v2/organizations/{orgId}/exitprobabilityhistory'].post
  update: {operationId: getOrganizationExitProbabilityHistory}
- target: $.paths['/v2/outlook/fundingwindow'].post
  update: {operationId: listFundingWindow}
- target: $.paths['/v2/organizations/{orgId}/fundingwindow'].post
  update: {operationId: getOrganizationFundingWindow}
- target: $.paths['/v2/revenuebyyear'].post
  update: {operationId: listRevenueByYear}
- target: $.paths['/v2/organizations/{orgId}/revenuebyyear'].post
  update: {operationId: getOrganizationRevenueByYear}
- target: $.paths['/v2/organizations/{orgId}/scoutingreport'].post
  update: {operationId: generateOrganizationScoutingReport}
- target: $.paths['/v2/organizations/{orgId}/scoutingreportstream'].post
  update: {operationId: streamOrganizationScoutingReport}
- target: $.paths['/v2/organizations/{orgId}/strategymap'].post
  update: {operationId: getOrganizationStrategyMap}
- target: $.paths['/v2/chatcbi'].post
  update:
    operationId: chatCBI
    x-apievangelist-mcp-tool: ChatCBI
- target: $.paths['/v2/chatcbichunked'].post
  update: {operationId: chatCBIChunked}
- target: $.paths['/v2/cbirag'].post
  update: {operationId: cbiRag}
- target: $.paths[*][*].responses
  description: >-
    Record the two production statuses the contract omits. 429 (rate limit) and its ratelimit-*
    headers are documented in the v1 reference and enforced platform-wide; 404 is documented for
    unknown datapacks. Neither is declared on any v2 operation.
  update:
    x-apievangelist-undeclared-statuses:
      '429':
        description: >-
          Too Many Requests — the 100 requests/second limit was exceeded. Response carries
          ratelimit-limit, ratelimit-remaining and ratelimit-reset.
        source: https://api-docs.cbinsights.com/docs/reference/rate_limiting/
      '404':
        description: Not Found — part of the request could not be identified (e.g. an unknown datapack).
        source: https://api-docs.cbinsights.com/docs/reference/error_codes/
x-apievangelist-gaps:
- No operationId on any of 28 operations.
- basePath is an absolute URL; host and schemes are absent.
- Tag StrategyMap used but not declared in tags[].
- 429 undeclared despite an enforced, documented rate limit.
- Error schema common.ErrorWithCode exposes only a free-text `error` string — no enumerated code.
- No security scheme applied at the document root; each operation repeats both a `security` entry
  and a redundant required `Authorization` header parameter.
- No examples on responses (request-body examples are present on many properties).