【重要】freee販売APIにおける一覧・取得APIの OpenAPI Schema の定義変更に関するお知らせ

■ 概要
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

freee販売APIにおける一覧・取得API の OpenAPI Schema において、一部のフィールド定義と実際のAPIの挙動に不整合があったため、実態に合わせた定義の修正を行います。

API自体の挙動に変更はありませんが、OpenAPI Schema をもとにクライアントコードや型定義を自動生成しているアプリケーションにおかれましては、影響が生じる可能性がございます。

■ 変更内容
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

変更対象API:

  • GET /businesses
  • GET /businesses/{id}
  • GET /master/deal_line_types
  • GET /master/employees
  • GET /master/items
  • GET /master/custom_fields/business/definitions
  • GET /quotations
  • GET /quotations/{id}
  • GET /sales_orders
  • GET /sales_orders/{id}
  • GET /deliveries
  • GET /deliveries/{id}
  • GET /sales
  • GET /sales/{id}
  • GET /other_costs
  • GET /other_costs/{id}
  • GET /cost_budgets
  • GET /cost_budgets/{id}

変更種別:Breaking Change

変更内容:
freee販売のPublic API における「一覧・取得」に関わる OpenAPI Schema 上の定義を、実際のAPIレスポンスに合わせて以下の通り修正します。

修正前: required: true かつ nullable: false (または nullable: true)
修正後: required: false かつ nullable: true に統一

※実際のAPIエンドポイントの振る舞い(レスポンスペイロード)に変更はありません。OpenAPI Schema(ドキュメント)上の定義のみの変更となります。

変更理由:
APIの実際のレスポンスにおいて null が返るケースが存在する一方、OpenAPI Schema 上では該当フィールドが required かつ nullable: false 等と定義されている不整合が生じていました。これらを実態および 他の製品のPublic APIに沿った仕様に統一するためです。

例として、「見積」データにおける「案件」のレスポンス business は、 required: true, nullable: false となっておりますが、実際には案件が設定されていない場合があるため、実情にあった定義に変更されます。

■ 変更スケジュール
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

アナウンス日:2026/6/19
変更リリース予定日:2026/6/24

■ 対応方法
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

OpenAPI Schema を利用して、型定義やAPIクライアントを自動生成しているアプリケーションにおいては、対応が必要となる場合があります。

本変更のリリース後に Schema からコードを再生成した場合、該当フィールドの型が field: string 等から field?: string | null へと変更されます。
これによりコンパイルエラーや型不整合が発生する可能性があるため、クライアント側で null や undefined を適切に許容・処理するよう、実装のご確認および修正をお願いいたします。

なお、Schemaからの自動生成を利用せず、独自にAPIリクエストを実装されている場合は、API自体の振る舞いに変更はないため特別な対応は不要です。