{
  "openapi": "3.1.0",
  "info": {
    "title": "vcspine",
    "version": "1.1.0",
    "description": "Fund liveness for 8,590 US venture firms, built from SEC filings: when each firm last closed a fund and whether it is still deploying (Form D), who administers and audits its funds (Form ADV), and new funds not yet in Form ADV. Status describes what has been filed, not whether a firm is solvent or investing.",
    "contact": {
      "email": "hello@vcspine.com",
      "url": "https://vcspine.com/api"
    }
  },
  "servers": [
    {
      "url": "https://vcspine.com/api/v1"
    }
  ],
  "components": {
    "securitySchemes": {
      "bearer": {
        "type": "http",
        "scheme": "bearer",
        "description": "A vcspine key. Free one at https://vcspine.com/api#key"
      },
      "query": {
        "type": "apiKey",
        "in": "query",
        "name": "key",
        "description": "The same key as ?key=, for clients that can only be given a URL."
      }
    }
  },
  "security": [
    {
      "bearer": []
    },
    {
      "query": []
    }
  ],
  "paths": {
    "/firms/{slug}": {
      "get": {
        "summary": "One firm, every vehicle on file for it, and its administrators and auditors",
        "operationId": "getFirm",
        "parameters": [
          {
            "name": "slug",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "insight-partners"
          }
        ],
        "responses": {
          "200": {
            "description": "The firm, every vehicle on file for it, and what was excluded from its totals."
          },
          "404": {
            "description": "No firm with that slug."
          }
        }
      }
    },
    "/firms": {
      "get": {
        "summary": "Search and filter firms",
        "operationId": "listFirms",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Firm name, or part of one."
          },
          {
            "name": "status",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "deploying",
                "mid-cycle",
                "late-cycle",
                "no recent fund",
                "unknown"
              ]
            },
            "description": "Deployment status."
          },
          {
            "name": "state",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Two-letter US state code."
          },
          {
            "name": "min_raised",
            "in": "query",
            "schema": {
              "type": "integer"
            },
            "description": "Minimum total raised, in dollars."
          },
          {
            "name": "closed_since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            },
            "description": "Latest fund closed on or after this."
          },
          {
            "name": "sort",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "raised",
                "latest",
                "name"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 50
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Opaque; take it from meta.next_cursor."
          }
        ],
        "responses": {
          "200": {
            "description": "Matching firms."
          }
        }
      }
    },
    "/new-funds": {
      "get": {
        "summary": "New venture funds not yet listed in any Form ADV",
        "description": "Form D filed, not yet in Form ADV (median gap about 7 months). Each row carries the firm's administrator and auditor on file, or first_fund=true. Funds filed in the last seven days are held back.",
        "operationId": "listNewFunds",
        "parameters": [
          {
            "name": "since",
            "in": "query",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "first_fund_only",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "no_administrator_on_file",
            "in": "query",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "administrator",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Firm's administrator on file contains this."
          },
          {
            "name": "q",
            "in": "query",
            "schema": {
              "type": "string"
            },
            "description": "Fund or firm name contains."
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 100,
              "default": 25
            }
          }
        ],
        "responses": {
          "200": {
            "description": "New funds, newest first."
          }
        }
      }
    },
    "/providers/{name}": {
      "get": {
        "summary": "A fund administrator's or auditor's venture firm clients",
        "operationId": "getProviderClients",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "aduro"
          },
          {
            "name": "role",
            "in": "query",
            "schema": {
              "type": "string",
              "enum": [
                "administrator",
                "auditor"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 500,
              "default": 100
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Clients, most funds first."
          }
        }
      }
    },
    "/stats": {
      "get": {
        "summary": "Counts and capital by status, across the set",
        "operationId": "getStats",
        "responses": {
          "200": {
            "description": "Aggregates."
          }
        }
      }
    }
  }
}