openapi: 3.2.0 info: title: Indexed.vc Reveal API version: 1.0.0 description: 'Company intelligence API providing comprehensive data on private companies, funding history, and investor relationships.' contact: name: Indexed.vc Support url: https://indexed.vc license: name: Proprietary servers: - url: https://indexed.vc/api/v1 description: Production security: - ApiKeyAuth: [] tags: - name: Reveal paths: /reveal: post: operationId: revealEntities summary: Reveal entity depth description: 'Unmask one or more entities from search results. 3 credits per newly revealed entity (cached reveals are free). Accepts both slugs and UUIDs.' requestBody: required: true content: application/json: schema: type: object required: - entity_type properties: entity_type: type: string enum: - company - investor id: type: string description: Single entity slug or UUID ids: type: array items: type: string description: 'Batch of entity slugs/UUIDs. Max per call: Free 5, Silver 5, Gold 10, Platinum 25, Enterprise 50.' responses: '200': description: Reveal results headers: X-Request-Id: schema: type: string format: uuid content: application/json: schema: type: object required: - data - summary properties: data: type: array items: $ref: '#/components/schemas/RevealResult' summary: $ref: '#/components/schemas/RevealSummary' '400': $ref: '#/components/responses/ValidationError' '401': $ref: '#/components/responses/AuthError' '402': $ref: '#/components/responses/PaymentRequired' '429': $ref: '#/components/responses/RateLimited' '503': $ref: '#/components/responses/ServiceUnavailable' tags: - Reveal components: responses: ServiceUnavailable: description: Data or credit service unavailable; retry later. content: application/json: schema: $ref: '#/components/schemas/ApiError' ValidationError: description: Invalid request parameters headers: X-Request-Id: schema: type: string format: uuid content: application/json: schema: $ref: '#/components/schemas/ApiError' AuthError: description: Missing, invalid, or insufficient API key headers: X-Request-Id: schema: type: string format: uuid content: application/json: schema: $ref: '#/components/schemas/ApiError' RateLimited: description: Rate limit exceeded (code RATE_LIMITED). Back off and retry after Retry-After. headers: X-Request-Id: schema: type: string format: uuid X-RateLimit-Limit: schema: type: integer X-RateLimit-Remaining: schema: type: integer Retry-After: schema: type: integer content: application/json: schema: $ref: '#/components/schemas/ApiError' PaymentRequired: description: 'Credits exhausted, no active credit period, or overage cap reached (code CREDIT_LIMIT_REACHED). This is a billing state, not a rate limit — do not retry. Follow top_up_url to repurchase the returned top_up_pack. ' headers: X-Request-Id: schema: type: string format: uuid content: application/json: schema: $ref: '#/components/schemas/ApiError' schemas: InvestorProfile: type: object required: - id - name - slug description: Shape varies by depth parameter (slim/standard/full) properties: id: type: string format: uuid name: type: string slug: type: string data_as_of: type: - string - 'null' format: date-time description: Last verified enrichment timestamp; null when unknown. logo_url: type: - string - 'null' website: type: - string - 'null' investor_type: type: - string - 'null' description: type: - string - 'null' hq_city: type: - string - 'null' hq_country: type: - string - 'null' total_investments_count: type: - integer - 'null' portfolio_company_count: type: - integer - 'null' total_capital_deployed: type: - integer - 'null' description: Null at slim/standard depth or when undisclosed. avg_check_size: type: - integer - 'null' description: Null at slim/standard depth or when undisclosed. typical_check_size_min: type: - integer - 'null' description: Null at slim/standard depth or when undisclosed. typical_check_size_max: type: - integer - 'null' description: Null at slim/standard depth or when undisclosed. portfolio_companies: type: array description: Only present at depth=full items: type: object properties: company_name: type: string company_slug: type: string company_logo_url: type: - string - 'null' industries: type: array items: type: string hq_country: type: - string - 'null' investments: type: array description: Only present at depth=full items: type: object properties: company_name: type: string company_slug: type: string event_type: type: string date: type: - string - 'null' format: date amount: type: - integer - 'null' is_lead: type: boolean sub_funds: type: array description: Only present at depth=full items: type: object properties: id: type: string format: uuid name: type: string slug: type: string ApiError: type: object required: - error - code properties: error: type: string description: Human-readable error message code: type: string description: Machine-readable error code reason: type: string enum: - credits_exhausted - overage_cap_reached - no_active_period remaining: type: integer minimum: 0 top_up_url: type: string format: uri top_up_pack: type: object properties: id: type: string example: pack_5k credits: type: integer example: 5000 price_cents: type: integer example: 20000 request_id: type: string format: uuid description: Correlation ID (also in X-Request-Id header) details: type: array description: Present for validation errors items: type: object properties: field: type: string message: type: string RevealSummary: type: object required: - total_requested - total_revealed - total_cached - total_failed - total_credits_charged properties: total_requested: type: integer total_revealed: type: integer total_cached: type: integer total_failed: type: integer total_credits_charged: type: integer RevealResult: type: object required: - id - entity_type - status - credits_charged properties: id: type: string description: Entity identifier (UUID if input was UUID, slug if input was slug) entity_type: type: string enum: - company - investor status: type: string enum: - revealed - cached - insufficient_credits - not_found credits_charged: type: integer data: description: Full entity data (present when status is revealed or cached). Entity type determines the shape. anyOf: - $ref: '#/components/schemas/CompanyProfile' - $ref: '#/components/schemas/InvestorProfile' CompanyRelationship: type: object properties: relationship_type: type: string enum: - subsidiary - brand - division - joint_venture ownership_pct: type: - number - 'null' description: Stated ownership percentage when a source gives it started_on: type: - string - 'null' format: date company: type: object properties: id: type: string format: uuid slug: type: string name: type: string logo_url: type: - string - 'null' CompanyProfile: type: object required: - id - name - slug description: Shape varies by depth parameter (slim/standard/full) properties: id: type: string format: uuid name: type: string slug: type: string data_as_of: type: - string - 'null' format: date-time description: Last verified enrichment timestamp; null when unknown. logo_url: type: - string - 'null' website: type: - string - 'null' short_description: type: - string - 'null' long_description: type: - string - 'null' industries: type: - array - 'null' items: type: string hq_city: type: - string - 'null' hq_state: type: - string - 'null' hq_country: type: - string - 'null' employee_count_range: type: - string - 'null' total_funding_raised: type: - integer - 'null' description: 'Whole USD. Sum of disclosed itemized funding rounds at confidence 50+: equity rounds, notes, SAFEs, equity crowdfunding and grants. Grants are included; debt, IPOs, acquisitions and secondaries are not. Null when no counted round has a disclosed amount.' operating_status: type: - string - 'null' founded_year: type: - integer - 'null' last_valuation: type: - integer - 'null' description: Null at slim/standard depth or when undisclosed. last_valuation_date: type: - string - 'null' format: date description: Null at slim/standard depth or when unknown. owners: type: array description: 'depth=standard and full. Companies that own this one, from reviewed, sourced relationships: its controlling parent (subsidiary, brand or division), or its joint-venture owners. Empty when none is recorded.' items: $ref: '#/components/schemas/CompanyRelationship' subsidiaries: type: array description: depth=standard and full. Companies this one owns (subsidiaries, brands, divisions, joint ventures), up to 200, by name. items: $ref: '#/components/schemas/CompanyRelationship' valuation_events: type: array description: Only present at depth=full items: type: object properties: id: type: string format: uuid event_type: type: string amount_raised_usd: type: - integer - 'null' announced_date: type: - string - 'null' format: date participants: type: array items: type: object properties: is_lead: type: boolean investor: type: object properties: id: type: string format: uuid name: type: string slug: type: string investor_type: type: - string - 'null' technologies: type: array description: Only present at depth=full items: type: object properties: technology_name: type: string category: type: - string - 'null' stack_type: type: string const: tech app_stack: type: array description: Only present at depth=full items: type: object properties: technology_name: type: string category: type: - string - 'null' stack_type: type: string const: app securitySchemes: ApiKeyAuth: type: apiKey in: header name: X-API-Key description: API key in format `idx_<32chars>`. Available on every plan; entity detail and reveal spend credits on every plan, while bulk enrichment, webhooks, scheduled exports and listing/sorting require a paid plan (Silver+). x-provenance: method: harvested publisher: Indexed source: https://indexed.vc/openapi.yaml note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json); stamped by stamp-openapi-provenance.py (roadmap#793)