{
  "openapi": "3.1.0",
  "info": {
    "title": "SteadyBase public surfaces",
    "version": "1.2.0",
    "summary": "Public company intelligence for AI workflows.",
    "description": "Every claim returns the sentence the company said and a link to the record it came from, or it returns nothing. No contact data is served by any route. Covers 7042 tracked US public companies, 4844 with a public page.",
    "contact": {
      "url": "https://steadybase.io/docs/"
    }
  },
  "servers": [
    {
      "url": "https://api.steadybase.io",
      "description": "keyed REST"
    },
    {
      "url": "https://steadybase.io",
      "description": "keyless static surfaces"
    }
  ],
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "Issued by hand, one per tenant."
      }
    }
  },
  "externalDocs": {
    "url": "https://steadybase.io/docs/",
    "description": "Reference, generated from the running server."
  },
  "x-mcp": {
    "endpoint": "https://mcp.steadybase.io/mcp",
    "tools": 53,
    "guide": "https://steadybase.io/mcp/"
  },
  "paths": {
    "/v1/enrich": {
      "get": {
        "summary": "Enrich a company by domain (or ticker) with its best signal",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "servers": [
          {
            "url": "https://api.steadybase.io"
          }
        ],
        "parameters": [
          {
            "name": "domain",
            "in": "query",
            "required": false,
            "description": "Company domain, e.g. cisco.com (primary key).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "ticker",
            "in": "query",
            "required": false,
            "description": "Stock ticker, e.g. CSCO (alternate key).",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tenant",
            "in": "query",
            "required": false,
            "description": "Tenant scope. The default is set per key.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "key",
            "in": "query",
            "required": false,
            "description": "API key (gtms_...) if not sent as a Bearer header.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "401": {
            "description": "missing or invalid key"
          }
        }
      }
    },
    "/company/data/index.json": {
      "get": {
        "summary": "Every company with a page, plus the sector and letter hubs.",
        "security": [],
        "servers": [
          {
            "url": "https://steadybase.io"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/company/data/{slug}.json": {
      "get": {
        "summary": "One public company card: account_id, legal_name, family, why_now, executives, mcp_package_hint.",
        "security": [],
        "servers": [
          {
            "url": "https://steadybase.io"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/company/search-index.json": {
      "get": {
        "summary": "Compact search rows: slug, name, ticker, statement count, people count.",
        "security": [],
        "servers": [
          {
            "url": "https://steadybase.io"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/company/quotes.json": {
      "get": {
        "summary": "One latest verbatim quote per company, with the receipt that proves it.",
        "security": [],
        "servers": [
          {
            "url": "https://steadybase.io"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/company/_slugmap.json": {
      "get": {
        "summary": "Ticker to slug.",
        "security": [],
        "servers": [
          {
            "url": "https://steadybase.io"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/company/llms.txt": {
      "get": {
        "summary": "Agent index for the directory.",
        "security": [],
        "servers": [
          {
            "url": "https://steadybase.io"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/llms.txt": {
      "get": {
        "summary": "Agent index for the site.",
        "security": [],
        "servers": [
          {
            "url": "https://steadybase.io"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/sitemap.xml": {
      "get": {
        "summary": "Every URL.",
        "security": [],
        "servers": [
          {
            "url": "https://steadybase.io"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  }
}