{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/edinetdb-jp/json-schema/edinetdb-jp-earnings-summary-schema.json",
  "title": "EarningsSummary",
  "description": "/companies/{code}/earnings が返す各エントリ。snake_case フィールド。\n金額は決算短信由来の百万円単位。\n\n⚠️ **forecast_* フィールドの期間スコープ** (UI 側「達成率/予想比/サプライズ」表示は撤去済、API では引き続き提供):\n- **Q1-Q3 短信**: forecast_revenue / forecast_operating_income / forecast_ordinary_income / forecast_net_income は **当期通期** の会社予想。actual は YTD 累計 (Q1=3ヶ月, Q2=6ヶ月, Q3=9ヶ月) のため、**actual ÷ forecast を「達成率/予想比/下方サプライズ/Downside surprise」と解釈してはいけない**（期間不整合: 累計実績 vs 通期予想）。\n- **Q4 短信（本決算）**: forecast_* は **翌期通期** の会社予想 (actual=当期通期、forecast=翌期通期で対象年度が異なる)。**actual ÷ forecast は意味を持たない**（対象年度不一致）。\n- **is_correction=true** の行は予想の途中修正で、actual との直接比較には適さない。\n- 詳細とインシデント経緯: /docs/incidents/2026-06-q1q3-surprise/\n\n**前年比 (*_change) フィールド**: 単位は percent (% YoY change vs prior-year same-period actual)。\n例: 5.4 = +5.4%。値域は通常 -100 〜 +100、IPO/業績回復/構造変化の場合は +100 を超える（適法、単位誤りではない）。\n定義上 -100% を下回らない（売上を 100% 超失うことはない、sanity floor）。\n\n\n**forecast_* の収録範囲** (2026-07-21 明記): 決算短信サマリー様式の業績予想欄に基づく\n売上高・営業利益・経常利益・純利益・EPS・1株配当のみ。売上総利益・1株当たり純資産など、\n同様式の予想欄に存在しない項目の予想値は提供しない（実績の売上総利益は /companies/{code}/financials の\ngross_profit、実績の1株当たり純資産は本スキーマおよび /financials の bps を参照）。\n構造化された業績予想は翌期通期まで（翌々期以降の予想フィールドは存在しない）。\n中期経営計画・統合報告書で企業が任意開示する中長期目標値（翌々期以降を含む）は\n/ir/kpis/search で部分的に取得できる（開示企業のみ・様式非統一）。\n\n**effective_forecast_\\* （修正開示の反映、2026-09 追加）**: `forecast_*` は当該決算短信に対応する\n会社予想です（この意味は変えていません）。`effective_forecast_*` は、対象期間が一致する後続の\n修正開示（業績予想の修正・配当予想の修正、XBRL 付き）を項目ごとに反映した予想で、各項目の\n出所（tanshin / revision_notice / manual_override）・状態（point / range / withdrawn）・開示日と、\n公開可能な場合は開示 ID を返します（公開対象外の開示 ID は null です）。レンジ予想・予想撤回では点予想を返しません。PDF のみの修正開示は原則\n未反映です。`effective_forecast_*` には株式分割調整を適用していません（`adjusted_forecast_*` は\n`forecast_*` に対する調整です）。反映の窓は次の定期決算短信の開示で終わります（それ以降は\nその短信の予想が基準）。人手で裁定済みの補正（manual_override）を含みます。取得・検証できた\n修正開示（XBRL 付き）が対象です。\n",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/edinetdb-jp-openapi.json#/components/schemas/EarningsSummary",
  "properties": {
    "accounting_standard": {
      "description": "会計基準",
      "type": [
        "string",
        "null"
      ]
    },
    "adjusted_annual_dividend_per_share": {
      "description": "分割調整後年間配当（円）。実績の補助値（予想ではない）。★分割前(pre-split)株数基準——adjusted_dividend_per_share（有報側、post-split/現在株数基準）とは向きが逆で別フィールド。期中に分割が発効した年度は interim+yearend×分割比率で再構成。それ以外の年度は開示済み年間値を「将来の有効化済み分割」の累積係数で割り戻すため、当年度に分割が無くても将来に分割があれば dividend_per_share とは一致しない（単一の式に一般化できない、値は経路依存）。",
      "type": [
        "number",
        "null"
      ]
    },
    "adjusted_forecast_dividend_per_share": {
      "description": "forecast_share_basis=pre_split の時のみ forecast_dividend_per_share / forecast_split_adjustment_factor。それ以外は常に null。",
      "type": [
        "number",
        "null"
      ]
    },
    "adjusted_forecast_eps": {
      "description": "forecast_share_basis=pre_split の時のみ forecast_eps / forecast_split_adjustment_factor。それ以外は常に null (誤った調整より NULL)。",
      "type": [
        "number",
        "null"
      ]
    },
    "average_shares": {
      "description": "期中平均株式数（株）",
      "format": "int64",
      "type": [
        "integer",
        "null"
      ]
    },
    "bps": {
      "description": "BPS（円）",
      "type": [
        "number",
        "null"
      ]
    },
    "cf_financing": {
      "description": "財務キャッシュフロー（百万円）",
      "format": "int64",
      "type": [
        "integer",
        "null"
      ]
    },
    "cf_investing": {
      "description": "投資キャッシュフロー（百万円）",
      "format": "int64",
      "type": [
        "integer",
        "null"
      ]
    },
    "cf_operating": {
      "description": "営業キャッシュフロー（百万円）",
      "format": "int64",
      "type": [
        "integer",
        "null"
      ]
    },
    "comprehensive_income_change": {
      "description": "包括利益前年同期比（% YoY）。",
      "type": [
        "number",
        "null"
      ]
    },
    "diluted_eps": {
      "description": "希薄化後EPS（円）",
      "type": [
        "number",
        "null"
      ]
    },
    "disclosure_date": {
      "description": "開示日（日付精度）",
      "type": [
        "string",
        "null"
      ]
    },
    "disclosure_time": {
      "description": "開示時刻。API では本フィールドの時刻精度（HH:MM）での提供を行わず、常に null を返します。スキーマ互換のため key は保持します。開示日の確認や日付精度での 時系列の判定には disclosure_date をご利用ください。",
      "type": [
        "string",
        "null"
      ]
    },
    "dividend_per_share": {
      "description": "実績1株配当（円）",
      "type": [
        "number",
        "null"
      ]
    },
    "effective_forecast_basis_source": {
      "description": "業績項目（売上・営業利益・経常利益・純利益・EPS）の連結／単体の別をどう決めたか。 row = 当該決算短信が連結／単体を明示していた / inferred = 明示が無かったため、 「その修正開示が単一の連結区分の値しか含まない」かつ「同一企業・同一決算期の 他の開示が全て同じ連結区分で一致する」条件を満たす場合に限り推定した。 null の場合は連結区分を決められず、業績項目に修正開示を反映していません （1株配当は連結区分に依存しないため、null でも反映されることがあります）。",
      "enum": [
        "row",
        "inferred"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_dividend_per_share": {
      "description": "修正開示反映後の1株配当（円）会社予想。対象期間が一致する後続の修正開示（業績予想の修正・配当予想の修正、 XBRL 付き）を項目ごとに反映した値です。レンジ予想・予想撤回では点予想を返しません（null + effective_forecast_dividend_per_share_state を参照）。株式分割調整は適用していません。forecast_dividend_per_share は 当該決算短信が報告した予想のままで不変です。",
      "type": [
        "number",
        "null"
      ]
    },
    "effective_forecast_dividend_per_share_as_of_date": {
      "description": "同開示の開示日（日付精度。開示時刻は提供しません）。",
      "format": "date",
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_dividend_per_share_disclosure_id": {
      "description": "この項目の値を採用した開示の ID（tanshin 由来なら当該短信自身、manual_override では null）。公開対象外の開示 ID は null です。",
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_dividend_per_share_pdf_url": {
      "description": "この項目の値を採用した修正開示の PDF URL（公開できない配信元は null）。 出所が tanshin / manual_override の場合は null。",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_dividend_per_share_source": {
      "description": "この項目の値の出所。tanshin = 当該決算短信そのもの / revision_notice = 後続の修正開示 / manual_override = 原本を人手で確認して裁定した補正。",
      "enum": [
        "tanshin",
        "revision_notice",
        "manual_override"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_dividend_per_share_state": {
      "description": "採用した修正開示が報告した状態。point = 点予想 / range = レンジ予想（点予想の開示なし）/ withdrawn = 予想未定・撤回。tanshin 由来および manual_override では null。",
      "enum": [
        "point",
        "range",
        "withdrawn"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_eps": {
      "description": "修正開示反映後のEPS（円）会社予想。対象期間が一致する後続の修正開示（業績予想の修正・配当予想の修正、 XBRL 付き）を項目ごとに反映した値です。レンジ予想・予想撤回では点予想を返しません（null + effective_forecast_eps_state を参照）。株式分割調整は適用していません。forecast_eps は 当該決算短信が報告した予想のままで不変です。",
      "type": [
        "number",
        "null"
      ]
    },
    "effective_forecast_eps_as_of_date": {
      "description": "同開示の開示日（日付精度。開示時刻は提供しません）。",
      "format": "date",
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_eps_disclosure_id": {
      "description": "この項目の値を採用した開示の ID（tanshin 由来なら当該短信自身、manual_override では null）。公開対象外の開示 ID は null です。",
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_eps_pdf_url": {
      "description": "この項目の値を採用した修正開示の PDF URL（公開できない配信元は null）。 出所が tanshin / manual_override の場合は null。",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_eps_source": {
      "description": "この項目の値の出所。tanshin = 当該決算短信そのもの / revision_notice = 後続の修正開示 / manual_override = 原本を人手で確認して裁定した補正。",
      "enum": [
        "tanshin",
        "revision_notice",
        "manual_override"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_eps_state": {
      "description": "採用した修正開示が報告した状態。point = 点予想 / range = レンジ予想（点予想の開示なし）/ withdrawn = 予想未定・撤回。tanshin 由来および manual_override では null。",
      "enum": [
        "point",
        "range",
        "withdrawn"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_net_income": {
      "description": "修正開示反映後の純利益（百万円）会社予想。対象期間が一致する後続の修正開示（業績予想の修正・配当予想の修正、 XBRL 付き）を項目ごとに反映した値です。レンジ予想・予想撤回では点予想を返しません（null + effective_forecast_net_income_state を参照）。株式分割調整は適用していません。forecast_net_income は 当該決算短信が報告した予想のままで不変です。",
      "type": [
        "number",
        "null"
      ]
    },
    "effective_forecast_net_income_as_of_date": {
      "description": "同開示の開示日（日付精度。開示時刻は提供しません）。",
      "format": "date",
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_net_income_change": {
      "description": "前年同期実績比（%）。決算短信・訂正短信を採った場合は、その短信が開示した率です。業績予想の修正の開示を採った場合は、同じ開示に載っている前年同期の実績と採用した予想値から当社が計算し、小数第一位に四捨五入します。この計算は、前年同期の実績が正で予想値が 0 以上の時だけ行います。それ以外の時、同じ連結・単体の区分と会計基準の前年同期の実績が無い時、期間が合わない時、前年同期の実績を 1 つに決められない時は null です。修正前の予想との増減率で代用することはしません。",
      "type": [
        "number",
        "null"
      ]
    },
    "effective_forecast_net_income_disclosure_id": {
      "description": "この項目の値を採用した開示の ID（tanshin 由来なら当該短信自身、manual_override では null）。公開対象外の開示 ID は null です。",
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_net_income_pdf_url": {
      "description": "この項目の値を採用した修正開示の PDF URL（公開できない配信元は null）。 出所が tanshin / manual_override の場合は null。",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_net_income_source": {
      "description": "この項目の値の出所。tanshin = 当該決算短信そのもの / revision_notice = 後続の修正開示 / manual_override = 原本を人手で確認して裁定した補正。",
      "enum": [
        "tanshin",
        "revision_notice",
        "manual_override"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_net_income_state": {
      "description": "採用した修正開示が報告した状態。point = 点予想 / range = レンジ予想（点予想の開示なし）/ withdrawn = 予想未定・撤回。tanshin 由来および manual_override では null。",
      "enum": [
        "point",
        "range",
        "withdrawn"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_operating_income": {
      "description": "修正開示反映後の営業利益（百万円）会社予想。対象期間が一致する後続の修正開示（業績予想の修正・配当予想の修正、 XBRL 付き）を項目ごとに反映した値です。レンジ予想・予想撤回では点予想を返しません（null + effective_forecast_operating_income_state を参照）。株式分割調整は適用していません。forecast_operating_income は 当該決算短信が報告した予想のままで不変です。",
      "type": [
        "number",
        "null"
      ]
    },
    "effective_forecast_operating_income_as_of_date": {
      "description": "同開示の開示日（日付精度。開示時刻は提供しません）。",
      "format": "date",
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_operating_income_change": {
      "description": "前年同期実績比（%）。決算短信・訂正短信を採った場合は、その短信が開示した率です。業績予想の修正の開示を採った場合は、同じ開示に載っている前年同期の実績と採用した予想値から当社が計算し、小数第一位に四捨五入します。この計算は、前年同期の実績が正で予想値が 0 以上の時だけ行います。それ以外の時、同じ連結・単体の区分と会計基準の前年同期の実績が無い時、期間が合わない時、前年同期の実績を 1 つに決められない時は null です。修正前の予想との増減率で代用することはしません。",
      "type": [
        "number",
        "null"
      ]
    },
    "effective_forecast_operating_income_disclosure_id": {
      "description": "この項目の値を採用した開示の ID（tanshin 由来なら当該短信自身、manual_override では null）。公開対象外の開示 ID は null です。",
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_operating_income_pdf_url": {
      "description": "この項目の値を採用した修正開示の PDF URL（公開できない配信元は null）。 出所が tanshin / manual_override の場合は null。",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_operating_income_source": {
      "description": "この項目の値の出所。tanshin = 当該決算短信そのもの / revision_notice = 後続の修正開示 / manual_override = 原本を人手で確認して裁定した補正。",
      "enum": [
        "tanshin",
        "revision_notice",
        "manual_override"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_operating_income_state": {
      "description": "採用した修正開示が報告した状態。point = 点予想 / range = レンジ予想（点予想の開示なし）/ withdrawn = 予想未定・撤回。tanshin 由来および manual_override では null。",
      "enum": [
        "point",
        "range",
        "withdrawn"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_ordinary_income": {
      "description": "修正開示反映後の経常利益（百万円）会社予想。対象期間が一致する後続の修正開示（業績予想の修正・配当予想の修正、 XBRL 付き）を項目ごとに反映した値です。レンジ予想・予想撤回では点予想を返しません（null + effective_forecast_ordinary_income_state を参照）。株式分割調整は適用していません。forecast_ordinary_income は 当該決算短信が報告した予想のままで不変です。",
      "type": [
        "number",
        "null"
      ]
    },
    "effective_forecast_ordinary_income_as_of_date": {
      "description": "同開示の開示日（日付精度。開示時刻は提供しません）。",
      "format": "date",
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_ordinary_income_change": {
      "description": "前年同期実績比（%）。決算短信・訂正短信を採った場合は、その短信が開示した率です。業績予想の修正の開示を採った場合は、同じ開示に載っている前年同期の実績と採用した予想値から当社が計算し、小数第一位に四捨五入します。この計算は、前年同期の実績が正で予想値が 0 以上の時だけ行います。それ以外の時、同じ連結・単体の区分と会計基準の前年同期の実績が無い時、期間が合わない時、前年同期の実績を 1 つに決められない時は null です。修正前の予想との増減率で代用することはしません。",
      "type": [
        "number",
        "null"
      ]
    },
    "effective_forecast_ordinary_income_disclosure_id": {
      "description": "この項目の値を採用した開示の ID（tanshin 由来なら当該短信自身、manual_override では null）。公開対象外の開示 ID は null です。",
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_ordinary_income_pdf_url": {
      "description": "この項目の値を採用した修正開示の PDF URL（公開できない配信元は null）。 出所が tanshin / manual_override の場合は null。",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_ordinary_income_source": {
      "description": "この項目の値の出所。tanshin = 当該決算短信そのもの / revision_notice = 後続の修正開示 / manual_override = 原本を人手で確認して裁定した補正。",
      "enum": [
        "tanshin",
        "revision_notice",
        "manual_override"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_ordinary_income_state": {
      "description": "採用した修正開示が報告した状態。point = 点予想 / range = レンジ予想（点予想の開示なし）/ withdrawn = 予想未定・撤回。tanshin 由来および manual_override では null。",
      "enum": [
        "point",
        "range",
        "withdrawn"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_revenue": {
      "description": "修正開示反映後の売上高（百万円）会社予想。対象期間が一致する後続の修正開示（業績予想の修正・配当予想の修正、 XBRL 付き）を項目ごとに反映した値です。レンジ予想・予想撤回では点予想を返しません（null + effective_forecast_revenue_state を参照）。株式分割調整は適用していません。forecast_revenue は 当該決算短信が報告した予想のままで不変です。",
      "type": [
        "number",
        "null"
      ]
    },
    "effective_forecast_revenue_as_of_date": {
      "description": "同開示の開示日（日付精度。開示時刻は提供しません）。",
      "format": "date",
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_revenue_change": {
      "description": "前年同期実績比（%）。決算短信・訂正短信を採った場合は、その短信が開示した率です。業績予想の修正の開示を採った場合は、同じ開示に載っている前年同期の実績と採用した予想値から当社が計算し、小数第一位に四捨五入します。この計算は、前年同期の実績が正で予想値が 0 以上の時だけ行います。それ以外の時、同じ連結・単体の区分と会計基準の前年同期の実績が無い時、期間が合わない時、前年同期の実績を 1 つに決められない時は null です。修正前の予想との増減率で代用することはしません。",
      "type": [
        "number",
        "null"
      ]
    },
    "effective_forecast_revenue_disclosure_id": {
      "description": "この項目の値を採用した開示の ID（tanshin 由来なら当該短信自身、manual_override では null）。公開対象外の開示 ID は null です。",
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_revenue_pdf_url": {
      "description": "この項目の値を採用した修正開示の PDF URL（公開できない配信元は null）。 出所が tanshin / manual_override の場合は null。",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_revenue_source": {
      "description": "この項目の値の出所。tanshin = 当該決算短信そのもの / revision_notice = 後続の修正開示 / manual_override = 原本を人手で確認して裁定した補正。",
      "enum": [
        "tanshin",
        "revision_notice",
        "manual_override"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "effective_forecast_revenue_state": {
      "description": "採用した修正開示が報告した状態。point = 点予想 / range = レンジ予想（点予想の開示なし）/ withdrawn = 予想未定・撤回。tanshin 由来および manual_override では null。",
      "enum": [
        "point",
        "range",
        "withdrawn"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "eps": {
      "description": "EPS（円）",
      "type": [
        "number",
        "null"
      ]
    },
    "equity_ratio": {
      "description": "自己資本比率（%、決算短信由来）。",
      "type": [
        "number",
        "null"
      ]
    },
    "fiscal_year_end": {
      "description": "決算期末",
      "type": [
        "string",
        "null"
      ]
    },
    "forecast_dividend_per_share": {
      "description": "予想1株配当（円）",
      "type": [
        "number",
        "null"
      ]
    },
    "forecast_eps": {
      "description": "予想EPS（円）",
      "type": [
        "number",
        "null"
      ]
    },
    "forecast_net_income": {
      "description": "予想純利益（百万円）。period scope=Q1-Q3 行は当期通期予想 / Q4 行は翌期通期予想。actual との直接比は誤解釈。/docs/incidents/2026-06-q1q3-surprise/",
      "format": "int64",
      "type": [
        "integer",
        "null"
      ]
    },
    "forecast_net_income_change": {
      "description": "予想純利益前年比 (percent, % YoY change vs prior-year same-period actual)。",
      "type": [
        "number",
        "null"
      ]
    },
    "forecast_operating_income": {
      "description": "予想営業利益（百万円）。period scope=Q1-Q3 行は当期通期予想 / Q4 行は翌期通期予想。actual との直接比 (達成率/予想比/サプライズ) は誤解釈。/docs/incidents/2026-06-q1q3-surprise/",
      "format": "int64",
      "type": [
        "integer",
        "null"
      ]
    },
    "forecast_operating_income_change": {
      "description": "予想営業利益前年比 (percent, % YoY change vs prior-year same-period actual)。",
      "type": [
        "number",
        "null"
      ]
    },
    "forecast_ordinary_income": {
      "description": "予想経常利益（百万円）。period scope=Q1-Q3 行は当期通期予想 / Q4 行は翌期通期予想。actual との直接比は誤解釈。/docs/incidents/2026-06-q1q3-surprise/",
      "format": "int64",
      "type": [
        "integer",
        "null"
      ]
    },
    "forecast_ordinary_income_change": {
      "description": "予想経常利益前年比 (percent, % YoY change vs prior-year same-period actual)。",
      "type": [
        "number",
        "null"
      ]
    },
    "forecast_period_note": {
      "description": "forecast_* の対象期間スコープ注記。Q1-Q3=当期通期予想 (actual は YTD累計 → actual÷forecast は進捗率)、Q4(本決算)=翌期通期予想 (当期実績との比率は期ズレで 無意味)。各行の forecast 値がある時のみ非 null。行単位の quarter で判別可能。 レスポンス meta.forecast_period_note にも全体ルールを記載。",
      "type": [
        "string",
        "null"
      ]
    },
    "forecast_revenue": {
      "description": "予想売上高（百万円）。period scope=Q1-Q3 行は当期通期予想 / Q4 行は翌期通期予想（対象年度が異なる）。actual (Q1-Q3 で YTD 累計, Q4 で当期通期) ÷ forecast を「達成率/予想比/下方サプライズ/Downside surprise」と解釈しないこと。UI では撤去済、API では情報提供のため返す。/docs/incidents/2026-06-q1q3-surprise/",
      "format": "int64",
      "type": [
        "integer",
        "null"
      ]
    },
    "forecast_revenue_change": {
      "description": "予想売上高前年比 (percent, % YoY change vs prior-year same-period actual)。例: 5.4 = +5.4%。値域は通常 -100〜+100、IPO/業績回復/構造変化で +100 を超えることがある (適法)。定義上 -100% を下回らない (sanity floor)。",
      "type": [
        "number",
        "null"
      ]
    },
    "forecast_revision_latest_date": {
      "description": "同開示の開示日（日付精度）。",
      "format": "date",
      "type": [
        "string",
        "null"
      ]
    },
    "forecast_revision_latest_disclosure_id": {
      "description": "窓内で最後に検知した修正開示の ID。",
      "type": [
        "string",
        "null"
      ]
    },
    "forecast_revision_latest_parse_status": {
      "description": "同開示の取込状態。success / partial / no_point_value / no_target_file / parse_error。値に反映できたかとは独立で、数値を取り込めなかった修正開示もここには現れます（検知と採用の分離）。",
      "type": [
        "string",
        "null"
      ]
    },
    "forecast_revision_latest_pdf_url": {
      "description": "同開示の PDF URL。",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "forecast_revision_latest_title": {
      "description": "同開示の表題。",
      "type": [
        "string",
        "null"
      ]
    },
    "forecast_share_basis": {
      "description": "(2026-07-10 追加) 有効な株式分割の効力発生前に本予想が開示された場合の 株数基準注記 (additive、生値は無変更)。pre_split=分割前基準の生値と確認 / post_split=会社が既に分割後基準で開示していると確認 / indeterminate=証拠不十分 (推測しない)。関連する分割が無ければ null。",
      "enum": [
        "pre_split",
        "post_split",
        "indeterminate"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "forecast_share_basis_evidence": {
      "description": "forecast_share_basis の判定根拠。分割「発表日」より予想開示が先か / 短信原文の脚注か。",
      "enum": [
        "announcement_date",
        "footnote_text"
      ],
      "type": [
        "string",
        "null"
      ]
    },
    "forecast_split_adjustment_factor": {
      "description": "判定対象にした株式分割の分割比率 (例 2.0 = 1株→2株)。",
      "type": [
        "number",
        "null"
      ]
    },
    "forecast_split_effective_date": {
      "description": "判定対象にした株式分割の効力発生日 (トレーサビリティ)。",
      "format": "date",
      "type": [
        "string",
        "null"
      ]
    },
    "interim_dividend_per_share": {
      "description": "中間配当（円）",
      "type": [
        "number",
        "null"
      ]
    },
    "is_consolidated": {
      "description": "連結か",
      "type": [
        "boolean",
        "null"
      ]
    },
    "is_correction": {
      "description": "訂正開示か",
      "type": [
        "boolean",
        "null"
      ]
    },
    "net_assets": {
      "description": "純資産（百万円）",
      "format": "int64",
      "type": [
        "integer",
        "null"
      ]
    },
    "net_income": {
      "description": "純利益（百万円）",
      "format": "int64",
      "type": [
        "integer",
        "null"
      ]
    },
    "net_income_change": {
      "description": "純利益前年同期比（% YoY）。",
      "type": [
        "number",
        "null"
      ]
    },
    "operating_income": {
      "description": "営業利益（百万円）",
      "format": "int64",
      "type": [
        "integer",
        "null"
      ]
    },
    "operating_income_change": {
      "description": "営業利益前年同期比（% YoY）。",
      "type": [
        "number",
        "null"
      ]
    },
    "ordinary_income": {
      "description": "経常利益（百万円）",
      "format": "int64",
      "type": [
        "integer",
        "null"
      ]
    },
    "ordinary_income_change": {
      "description": "経常利益前年同期比（% YoY）。",
      "type": [
        "number",
        "null"
      ]
    },
    "owners_equity": {
      "description": "自己資本・親会社所有者帰属持分（百万円）",
      "format": "int64",
      "type": [
        "integer",
        "null"
      ]
    },
    "pdf_url": {
      "description": "決算短信PDF URL",
      "format": "uri",
      "type": [
        "string",
        "null"
      ]
    },
    "profit_ifrs": {
      "description": "IFRS利益（百万円）",
      "format": "int64",
      "type": [
        "integer",
        "null"
      ]
    },
    "profit_ifrs_change": {
      "description": "IFRS利益前年同期比（% YoY）。",
      "type": [
        "number",
        "null"
      ]
    },
    "qualitative_text": {
      "description": "定性テキスト（include_qualitative_text=true の場合のみ）。氏名の形に当たる文を省くことがあるため、全文とは限りません。公開の対象外の本文と、省いた後に本文が残らない場合は null を返します",
      "type": [
        "string",
        "null"
      ]
    },
    "quarter": {
      "description": "四半期区分（1〜4 の整数。4 = 通期）",
      "type": [
        "integer",
        "null"
      ]
    },
    "revenue": {
      "description": "売上高（百万円）",
      "format": "int64",
      "type": [
        "integer",
        "null"
      ]
    },
    "revenue_change": {
      "description": "売上高前年同期比（% YoY、例: 5.4 = +5.4%）。-100% を下回らない（floor）。+100% 超は IPO/業績回復/構造変化（正当）。",
      "type": [
        "number",
        "null"
      ]
    },
    "shares_outstanding": {
      "description": "発行済株式総数（株、自己株式を含む）。EarningsSummary 各行が指す\n決算短信に記載された値。/earnings の最新行 (`earnings[0]`) は\n/financials `meta.latest_shares_snapshot.shares_outstanding` と\n同一定義・同一値。過去行は各 disclosure 時点のスナップショットで、\nlatest_shares_snapshot とは時系列上一致しない場合がある。\n業界標準時価総額 (Yahoo!ファイナンス等の表示と整合) の計算は\nshares_outstanding × 現在株価。\n自己株式控除後の株式数は shares_outstanding_excluding_treasury を使用。\n",
      "format": "int64",
      "type": [
        "integer",
        "null"
      ]
    },
    "shares_outstanding_excluding_treasury": {
      "description": "自己株式控除後の株式数（株）= shares_outstanding - COALESCE(treasury_shares, 0)。\ntreasury_shares が null の場合は shares_outstanding と同値を返す\n(サーバー側で COALESCE 計算済み、ユーザー側で null フォールバック実装不要)。\n自己株式控除後の時価総額・流通株式ベース PBR/PER の計算に使用:\nshares_outstanding_excluding_treasury × 現在株価。\n注: 厳密な意味の free float (政策保有・親会社保有・役員保有も控除) ではなく、\n自己株式のみを控除した値です。\n",
      "format": "int64",
      "type": [
        "integer",
        "null"
      ]
    },
    "title": {
      "description": "表題",
      "type": [
        "string",
        "null"
      ]
    },
    "total_assets": {
      "description": "総資産（百万円）",
      "format": "int64",
      "type": [
        "integer",
        "null"
      ]
    },
    "treasury_shares": {
      "description": "自己株式数（株）。各行の決算短信における値、出所は決算短信。\n短信で未開示の場合は null となる。\n**null は「自己株式ゼロ」を意味しない** (= 0 と区別すること、約 5.8% の企業が該当)。\n",
      "format": "int64",
      "type": [
        "integer",
        "null"
      ]
    },
    "yearend_dividend_per_share": {
      "description": "期末配当（円）",
      "type": [
        "number",
        "null"
      ]
    }
  },
  "type": "object"
}