{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "FMP Income Statement Schema",
  "description": "Schema for FMP Income Statement endpoint",
  "version": "1.0.0",
  "type": "array",
  "items": {
    "type": "object",
    "properties": {
      "date": {
        "type": "string",
        "description": "Statement date"
      },
      "symbol": {
        "type": "string",
        "description": "Stock symbol"
      },
      "reportedCurrency": {
        "type": ["string", "null"],
        "description": "Reported currency"
      },
      "cik": {
        "type": ["string", "null"],
        "description": "CIK number"
      },
      "fillingDate": {
        "type": ["string", "null"],
        "description": "Filing date"
      },
      "acceptedDate": {
        "type": ["string", "null"],
        "description": "Accepted date"
      },
      "calendarYear": {
        "type": ["string", "null"],
        "description": "Calendar year"
      },
      "period": {
        "type": "string",
        "description": "Period (annual or quarter)"
      },
      "revenue": {
        "type": ["number", "null"],
        "description": "Revenue"
      },
      "costOfRevenue": {
        "type": ["number", "null"],
        "description": "Cost of revenue"
      },
      "grossProfit": {
        "type": ["number", "null"],
        "description": "Gross profit"
      },
      "grossProfitRatio": {
        "type": ["number", "null"],
        "description": "Gross profit ratio"
      },
      "researchAndDevelopmentExpenses": {
        "type": ["number", "null"],
        "description": "R&D expenses"
      },
      "generalAndAdministrativeExpenses": {
        "type": ["number", "null"],
        "description": "General and administrative expenses"
      },
      "sellingAndMarketingExpenses": {
        "type": ["number", "null"],
        "description": "Selling and marketing expenses"
      },
      "sellingGeneralAndAdministrativeExpenses": {
        "type": ["number", "null"],
        "description": "Selling, general and administrative expenses"
      },
      "otherExpenses": {
        "type": ["number", "null"],
        "description": "Other expenses"
      },
      "operatingExpenses": {
        "type": ["number", "null"],
        "description": "Operating expenses"
      },
      "costAndExpenses": {
        "type": ["number", "null"],
        "description": "Cost and expenses"
      },
      "interestIncome": {
        "type": ["number", "null"],
        "description": "Interest income"
      },
      "interestExpense": {
        "type": ["number", "null"],
        "description": "Interest expense"
      },
      "depreciationAndAmortization": {
        "type": ["number", "null"],
        "description": "Depreciation and amortization"
      },
      "ebitda": {
        "type": ["number", "null"],
        "description": "EBITDA"
      },
      "ebitdaratio": {
        "type": ["number", "null"],
        "description": "EBITDA ratio"
      },
      "operatingIncome": {
        "type": ["number", "null"],
        "description": "Operating income"
      },
      "operatingIncomeRatio": {
        "type": ["number", "null"],
        "description": "Operating income ratio"
      },
      "totalOtherIncomeExpensesNet": {
        "type": ["number", "null"],
        "description": "Total other income expenses net"
      },
      "incomeBeforeTax": {
        "type": ["number", "null"],
        "description": "Income before tax"
      },
      "incomeBeforeTaxRatio": {
        "type": ["number", "null"],
        "description": "Income before tax ratio"
      },
      "incomeTaxExpense": {
        "type": ["number", "null"],
        "description": "Income tax expense"
      },
      "netIncome": {
        "type": ["number", "null"],
        "description": "Net income"
      },
      "netIncomeRatio": {
        "type": ["number", "null"],
        "description": "Net income ratio"
      },
      "eps": {
        "type": ["number", "null"],
        "description": "Earnings per share"
      },
      "epsdiluted": {
        "type": ["number", "null"],
        "description": "Diluted EPS"
      },
      "weightedAverageShsOut": {
        "type": ["number", "null"],
        "description": "Weighted average shares outstanding"
      },
      "weightedAverageShsOutDil": {
        "type": ["number", "null"],
        "description": "Weighted average shares outstanding diluted"
      },
      "link": {
        "type": ["string", "null"],
        "description": "Link to filing"
      },
      "finalLink": {
        "type": ["string", "null"],
        "description": "Final link to filing"
      }
    },
    "required": ["date", "symbol", "period"]
  }
}
